Git 學習筆記 - 13 - 分支管理政策
注:本文參照的是廖雪峰老師的Git教程
概述:
Git會用
Fast forward
模式,但這種模式下,删除分支後,會丢掉分支資訊。之前的分支在合并後,分支的資訊就沒有了。
什麼叫資訊沒有了,就是之前你在這個分支上的修改版本都不見了,在這個分支上看到的資料和master上一樣。
如果要強制禁用
Fast forward
模式,Git就會在merge時生成一個新的commit,這樣,從分支曆史上就可以看出分支資訊。
但是如果想要保留自己建的分支上的修改資訊,就需要在合并的時候添加 --no-ff參數。
步驟:
- 先建立一個分支,名字叫dev,并進入這個分支
git checkout -b dev
- 然後在dev分支上修改檔案,增加内容如圖二
- 在dev分支上面送出修改。
- 切回master分支
git checkout master
- 将dev分支合并到目前的分支,注意:這裡加上參數 --no-ff
這裡 -m後面 “ ” 中間的内容時描述資訊,描述這次送出的原因。git merge --no-ff -m "merge with no-ff" dev
- 合并完後檢視分支是怎麼變化的
git log --graph --pretty=oneline --abbrev-commit
總結:
分支政策
在實際開發中,我們應該按照幾個基本原則進行分支管理:
首先,
master
分支應該是非常穩定的,也就是僅用來釋出新版本,平時不能在上面幹活;
那在哪幹活呢?幹活都在
dev
分支上,也就是說,
dev
分支是不穩定的,到某個時候,比如1.0版本釋出時,再把
dev
分支合并到
master
上,在
master
分支釋出1.0版本;
你和你的小夥伴們每個人都在
dev
分支上幹活,每個人都有自己的分支,時不時地往
dev
分支上合并就可以了。
是以,團隊合作的分支看起來就像這樣:
Git分支十分強大,在團隊開發中應該充分應用。
合并分支時,加上
--no-ff
參數就可以用普通模式合并,合并後的曆史有分支,能看出來曾經做過合并,而
fast forward
合并就看不出來曾經做過合并。