git分支命名規範
<本文內容來自網路>
1、git flow是什麼?
Git Flow是一套使用Git進行原始碼管理時的一套行為規範和簡化部分Git操作的工具。git-flow 並不是要替代 Git,它僅僅是非常聰明有效地把標準的 Git 命令用指令碼組合了起來。Git Flow是構建在Git之上的一個組織軟體開發活動的模型,是在Git之上構建的一項軟體開發最佳實踐。
2、git flow定義的分支
Master分支:最近釋出到生產環境的程式碼,最近釋出的release。這個分支只能從其他分支合併,不能直接修改
Develop分支:主開發分支,包含要釋出到下一個release的程式碼。這個主要是用於與其他分支合併,比如Feature分支
Feature分支:主要用來開發新功能。每一個特性(feature)都必須在自己的分支裡開發,feature分支派生自develop分支。當feature開發完畢後,要合併回develop分支。feature分支永遠不會和master分支打交道。
Release分支:release分支不是一個放正式釋出產品的分支,你可以將它理解為“待發布”分支。在這個分支裡面絕對不會新增新的特性。我們用這個分支幹所有和釋出有關的事情,比如:
把這個分支打包給測試人員測試
在這個分支裡修復bug
編寫釋出文件
所以在這個分支裡面絕對不會新增新的特性。當和釋出相關的工作都完成後,release分支合併回develop和master分支。
Hotfix分支:緊急修復分支,生產事故。hotfix分支基於master分支建立,開發完後需要合併回master和develop分支,同時在master上打一個tag。所有的hotfix改動都要進入下個release。
3、新功能開發
增加新功能:
Git flow feature start myfeature
完成功能開發:
Git flow feature finish myfeature
執行動作:
合併myfeature分支到develop;
刪除myfeature分支
切回develop分支
Push新功能
Git flow feature publish myfeature
Pull新功能
Git flow feature pull origin myfeature
4、釋出release版本
增加新分支:
git flow release start RELEASE0.1
釋出分支
git flow release publish RELEASE0.1
完成釋出
git flow release finish –m ‘版本0.1’ RELEASE0.1
執行動作:
把release分支合併回master
給本次釋出打tag
同時把release分支合併回develop
幹掉release分支
5、緊急修復分支
新增分支:
git flow hotfix start VERSION
完成修復
git flow hotfix finish VERSION