Git----分支管理之分支管理策略04
通常,合并分支時,如果可能,Git會用Fast forward模式,但這種模式下,刪除分支后,會丟掉分支信息。
如果要強制禁用Fast forward模式,Git就會在merge時生產一個新的commit,這樣,從分支歷史上就可以看出分支信息。
下面我們實戰一下--no-ff方式的git merge:
首先,仍然創建并切換dev分支:
?
$ git checkout -b dev
Switched to a new branch 'dev'
修改readme.txt文件,并提交一個新的commit:
$ git add readme.txt
$ git commit -m "add merge"
[dev 45e3302] add merge
 1 file changed, 1 insertion(+), 1 deletion(-)
現在,我們切換回master:
$ git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 4 commits.
 (use "git push" to publish your local commits)
準備合并dev分支,請注意--no-ff參數,表示禁用Fast forward:
$ git merge --no-ff -m "merge with no-ff" dev
Merge made by the 'recursive' strategy.
 readme.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
因為本次合并要創建一個新的commit,所以加上-m參數,把commit描述寫進去。
合并后,我們用git log看看分支歷史:
$ git log --graph --pretty=oneline --abbrev-commit
* 819865d (HEAD -> master) merge with no-ff
|\
| * 45e3302 (dev) add merge
|/
* 20864c0 confict fixed
|\
| * ab1c693 AND simple
* | ea364c9 & simple
|/
* 3d9a6be branch test
* d255aa7 (origin/master) LICENSE
* 4e28fb6 readme.txt
可以看到,不使用Fast forward模式,merge后就像這樣:
分支策略
在實際開發中,我們應該按照幾個基本原則進行分支管理
首先,master分支應該是非常穩定的,也就是僅用發布新版本,平時不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發布時,再把dev分支合并到master上,在master分支上發布1.0版本。
你和你的小伙伴每個人都在dev分支上干活,每個人都有自己的分支。時不時地往dev分支上合并就可以了。
所以,團隊合作的分支看起來就像這樣:
?摘抄自:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013758410364457b9e3d821f4244beb0fd69c61a185ae0000
轉載于:https://www.cnblogs.com/cxq0017/p/9687456.html
總結
以上是生活随笔為你收集整理的Git----分支管理之分支管理策略04的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 街篮是啥?
- 下一篇: CIFAR和SVHN在各CNN论文中的结
