Git 分支命名規範(完)
阿新 • • 發佈:2019-02-17
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