会学到如下命令:git
查看分支:git branch 建立分支:git branch <name> 切换分支:git checkout <name> 建立+切换分支:git checkout -b <name> 合并某分支到当前分支:git merge <name> 删除分支:git branch -d <name>
建立dev
分支,而且切换到dev
分支:安全
git checkout -b dev
lwenhaodeMacBook-Pro:TestGit lwenhao$ git checkout -b dev Switched to a new branch 'dev' lwenhaodeMacBook-Pro:TestGit lwenhao$
git checkout
命令加上-b
参数表示建立并切换,至关于下面两条命令:建立test
分支,而且切换到test
分支上.net
lwenhaodeMacBook-Pro:TestGit lwenhao$ git branch test lwenhaodeMacBook-Pro:TestGit lwenhao$ git checkout test Switched to branch 'test' lwenhaodeMacBook-Pro:TestGit lwenhao$
用git branch
命令查看当前分支:code
lwenhaodeMacBook-Pro:TestGit lwenhao$ git branch dev master * test lwenhaodeMacBook-Pro:TestGit lwenhao$
git branch
命令会列出全部的分支,当前分支前面会标一个*
blog
而后咱们能够在test
分支上正常提交,好比对README.md
作个修改,加上一行:get
lwenhaodeMacBook-Pro:TestGit lwenhao$ cat README.md # TestGit 建立一个新的分支
而后提交:it
lwenhaodeMacBook-Pro:TestGit lwenhao$ git add README.md lwenhaodeMacBook-Pro:TestGit lwenhao$ git commit -m "branch test" [test fca856d] branch test 1 file changed, 4 insertions(+), 1 deletion(-) lwenhaodeMacBook-Pro:TestGit lwenhao$
如今,test
分支的工做完成,咱们就能够切换回master
分支:io
git checkout master
lwenhaodeMacBook-Pro:TestGit lwenhao$ git checkout master Switched to branch 'master' Your branch is up to date with 'origin/master'. lwenhaodeMacBook-Pro:TestGit lwenhao$
切换回master
分支后,再查看一个README.md
文件,刚才添加的内容不见了!由于那个提交是在test
分支上,而master
分支此刻的提交点并无变。ast
lwenhaodeMacBook-Pro:TestGit lwenhao$ cat README.md # TestGit lwenhaodeMacBook-Pro:TestGit lwenhao$
如今,咱们把test
分支的内容合并到master
分支上:test
git merge test
lwenhaodeMacBook-Pro:TestGit lwenhao$ git merge test Updating 38e1bd3..fca856d Fast-forward README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) lwenhaodeMacBook-Pro:TestGit lwenhao$
git merge
命令用于合并指定分支到当前分支。合并后,再查看README.md
的内容,就能够看到,和test
分支的最新提交是彻底同样的。
注意到上面的Fast-forward
信息,Git告诉咱们,此次合并是“快进模式”,也就是直接把master
指向test
的当前提交,因此合并速度很是快。也不是每次合并都能Fast-forward
,咱们后面会讲其余方式的合并。
lwenhaodeMacBook-Pro:TestGit lwenhao$ cat README.md # TestGit 建立一个新的分支 lwenhaodeMacBook-Pro:TestGit lwenhao$
合并完成后,就能够删除test
分支了。
git branch -d test
lwenhaodeMacBook-Pro:TestGit lwenhao$ git branch -d test Deleted branch test (was fca856d). lwenhaodeMacBook-Pro:TestGit lwenhao$
删除后,查看分支:
lwenhaodeMacBook-Pro:TestGit lwenhao$ git branch dev * master lwenhaodeMacBook-Pro:TestGit lwenhao$
继续删除dev
分支:
lwenhaodeMacBook-Pro:TestGit lwenhao$ git branch -d dev Deleted branch dev (was 38e1bd3). lwenhaodeMacBook-Pro:TestGit lwenhao$
由于建立、合并和删除分支很是快,因此Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master
分支上工做效果是同样的,但过程更安全
继续阅读:04 分支管理 —— 解决冲突