Git 分支命名規範(完)

Git 分支命名規範
分支:        命名:        說明:
 
主分支        master        主分支,所有提供給用戶使用的正式版本,都在這個主分支上發佈
開發分支        dev         開發分支,永遠是功能最新最全的分支
功能分支        feature-*    新功能分支,某個功能點正在開發階段
發佈版本        release-*    發佈定期要上線的功能
修復分支        bug-*        修復線上代碼的 bug

主分支 Master
首先,代碼庫應該有一個、且僅有一個主分支。所有提供給用戶使用的正式版本,都在這個主分支上發佈。

Git主分支的名字,默認叫做 Master 。它是自動建立的,版本庫初始化以後,默認就是在主分支在進行開發。

開發分支 Dev
主分支只用來分佈重大版本,日常開發應該在另一條分支上完成。我們把開發用的分支,叫做 Dev
這個分支可以用來生成代碼的最新隔夜版本(nightly)。如果想正式對外發布,就在 Master 分支上,對 Dev 分支進行”合併”(merge)。

Git創建 Dev 分支的命令:

git checkout -b dev master

將 Dev 分支發佈到 Master 分支的命令:
切換到 Master 分支
git checkout master

對 Dev 分支進行合併
git merge –no–ff dev

這裏稍微解釋一下,上一條命令的–no–ff參數是什麼意思。默認情況下,Git執行”快進式合併”(fast-farward merge),會直接將 Master 分支指向 Dev 分支。
使用–no–ff參數後,會執行正常合併,在 Master 分支上生成一個新節點。爲了保證版本演進的清晰,我們希望採用這種做法。

功能分支 Feature
功能分支的名字,可以採用feature- * 的形式命名。

創建一個功能分支:

git checkout -b feature-x dev

開發完成後,將功能分支合併到dev 分支:
git checkout dev
git merge –no-ff feature-x

刪除feature分支:
git branch -d feature-x

預發佈分支 Release
第二種是預發佈分支,它是指發佈正式版本之前(即合併到 Master 分支之前),我們可能需要有一個預發佈的版本進行測試。
預發佈分支是從 Dev 分支上面分出來的,預發佈結束以後,必須合併進 Dev 和 Master 分支。它的命名,可以採用release- * 的形式。

創建一個預發佈分支:

git checkout -b release-1.2 dev

確認沒有問題後,合併到master分支:
git checkout master
git merge –no-ff release-1.2

對合並生成的新節點,做一個標籤:
git tag -a 1.2

再合併到dev 分支:
git checkout dev
git merge –no-ff release-1.2

最後,刪除預發佈分支:
git branch -d release-1.2

修補分支 Bug
最後一種是修補bug分支。軟件正式發佈以後,難免會出現bug。這時就需要創建一個分支,進行bug修補。
修補bug分支是從 Master 分支上面分出來的。修補結束以後,再合併進 Master 和 Dev 分支。它的命名,可以採用fixbug- * 的形式。

創建一個修補bug分支:

git checkout -b fixbug-0.1 master

修補結束後,合併到master分支:
git checkout master
git merge –no-ff fixbug-0.1
git tag -a 0.1.1

再合併到dev 分支:
git checkout dev
git merge –no-ff fixbug-0.1

最後,刪除”修補bug分支”:
git branch -d fixbug-0.1

git tag usage
# 添加
git tag -a V0.1.110811 -m"基本部署完成,有BUG待做"
 
#刪除
git tag -d V0.1.110811
 
#推送到遠程
git push origin V0.1.110811
 
git push –tags

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章