Git分支管理(一)
开发流程
一般需要先创建一个测试分支,在测试分支上进行开发,开发完成后,合并到master分支;
创建并切换到dev分支:
git checkout -b dev
功能类似于:
$ git branch dev #创建分支 $ git checkout dev #切换分支 Switched to branch 'dev'
git branch
命令会列出所有分支,当前分支前面会标一个*
号;
然后,我们就可以在dev
分支上正常提交,比如对readme.txt
做个修改,加上一行:
然后提交:
$ git add readme.txt $ git commit -m "branch test" [dev b17d20e] branch test 1 file changed, 1 insertion(+)
dev
分支的工作完成后,我们就可以切换回master
分支:
现在,我们把dev
分支的工作成果合并到master
分支上:
$ git merge dev Updating d46f35e..b17d20e Fast-forward readme.txt | 1 + 1 file changed, 1 insertion(+)
git merge
命令用于合并指定分支到当前分支。合并后,再查看readme.txt
的内容,就可以看到,和dev
分支的最新提交是完全一样的。
合并完成后,就可以放心地删除dev
分支了:
$ git branch -d dev
Deleted branch dev (was b17d20e).
删除后,查看branch
,就只剩下master
分支了:
$ git branch
* master
所以,在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master
分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev
分支上~
可以这样理解,dev相当于总经理,master相当于董事长,我们每个小伙伴都有自己单独的分支A、B、C,我们干完活时不时的把工作合并给总经理(dev)就可以了,总经理(dev)最后再统一合并给董事长(master)。
也就是说,dev
分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev
分支合并到master
上,在master
分支发布1.0版本;
所以,团队合作的分支看起来就像这样: