分支管理
创建与合并分支
解决冲突
分支管理策略
分支使用策略
- master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
- 代码开发都在dev分支上,dev分支是不稳定的,到某个时候,比较1.0版本发布时,就要把dev分支合并到master上,在master分支发布1.0版本
- 每个人都应该在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
团队合作的分支看起来就像这样
Bug分支
Feature分支
多人协作
Rebase
标签管理
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。
Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。
Git有commit,为什么还要引入tag?
“请把上周一的那个版本打包发布,commit号是6a5819e…”
“一串乱七八糟的数字不好找!”
如果换一个办法:
“请把上周一的那个版本打包发布,版本号是v1.2”
“好的,按照tag v1.2查找commit就行!”
所以,tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。