Git 使用流程
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,需要从中央服务器获取最新的版本。Git是分布式版本控制系统,它没有中央服务器,每个人的电脑就是一个完整的版本库。Git工作
·
Git使用流程
Git与SVN区别
- SVN是集中式版本控制系统,版本库是集中放在中央服务器的,需要从中央服务器获取最新的版本。
- Git是分布式版本控制系统,它没有中央服务器,每个人的电脑就是一个完整的版本库。
Git工作流程
- Worksapce:工作区,实际编写代码的地方,文件状态为
modified
表示已修改。 - Index/Stage:暂存区,临时存放的地方,文件状态为
staged
表示未提交。 - Repository:本地仓库,存放本地历史版本信息。
- Remote:远程仓库。
四个区域之间的关系
工作区和暂存区的区别
- 工作区:就是工作目录下的所有文件。
- 版本库:工作区里有一个隐藏目录
.git
,这个不属于工作区,这个是版本库,版本库里存放了stage暂存区,git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
基本操作
常用命令
配置个人信息
查看个人信息:
git config --list
配置个人信息:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
创建和提交
HEAD 始终指向所处分支的最新的提交点。
创建仓库:
git init
添加到暂存区:
git add readme.txt
提交到本地仓库:
git commit -m "第一次提交"
查看是否还有文件未提交:
git status
查看文件差异:
git diff readme.txt
查看提交记录:
git log
git log --pretty=oneline //简介显示
git log --oneline //简介显示
查看版本号:
git reflog
版本回退(对本地库的操作):
git reset --hard HEAD^ 退回上一个版本
git reset --hard HEAD^^ 退回上上个版本
git reset --hard <版本号> 回退指定版本
版本回退(对暂存区的操作):
git reset HEAD readme.txt
git提交文件到版本库有两步:
- 使用
git add
将文件添加到暂存区。 - 使用
git commit
将暂存区的文件提交到当前分支上。
远程仓库
ssh-keygen -t rsa -C "邮箱账号"
执行命令后,生成id_rsa
和id_rsa.pub
两个文件,id_rsa
是私钥不能泄露,id_rsa.pub
是公钥可以告诉其他人。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rZRCiT84-1597134636589)(C:\Users\housikai\AppData\Roaming\Typora\typora-user-images\1597131901169.png)]
添加远程仓库:
git remote add origin <仓库地址> //远程库默认名为origin
推送到远程仓库:
git push -u origin master //第一次推送时,需要加-u
git push origin master
克隆远程仓库:
git clone <仓库地址>
从远程库拉取:
git pull origin master //pull = fetch + merge
从远程库下载到本地库
git fetch origin master //下载到本地库,但是工作区没有更新
git merge FETCH_HEAD //本地库合并到工作区
查看远程库信息:
git remote
查看远程库详细信息:
git remote -v
分支
查看当前分支:
git branch
查看所有分支:
git branch -a
创建分支:
git branch dev
切换分支:
git checkout dev
创建并切换分支:
git checkout -b dev
合并分支内容:
git checkout dev //在master分支上合并dev分支内容
删除分支:
git branch -d dev
多人协作流程
clone远程库到本地
git clone 远程库地址 [路径]
远程库推送新建分支
在本地新建分支dev
git branch dev
将本地库dev分支提交到远程库
git push origin dev
将远程库的dev分支切换到本地库的dev分支
git checkout -b dev orign/dev
修改代码并推送到远程库的dev分支
git push origin dev
更多推荐
已为社区贡献2条内容
所有评论(0)