git(icode)分支及發布管理方式


如果git(icode)不加管理,可能出現枝節蔓生、四處開放的版本庫。到處都是分支,完全看不出主干發展的脈絡,造成下圖的局面:

為了降低合並和版本管理的成本,團隊引入一種值得借鑒的管理方式(link

 

1.存在一條主分支(master)。所有用戶可見的正式版本,都從master發布。主分支作為穩定的唯一代碼庫,不做任何開發使用。

拉取源:無需。

合並目標:無需。

修改:不允許。

生命期:持續。

2.存在一條開發分支(develop)。這個分支維護了當前開發中代碼的主線,始終保持代碼新於master。持續集成、最新隔夜版本的生成等都是基於這個分支。由於當前版本迭代較快,開發分支只提供拉取,不進行實際開發。

拉取源:master。

合並目標:無需。

修改:不允許。

生命期:持續。

 

3.臨時性多個功能分支(feature)。從develop拉取。開發feature完成,merge回develop。為了降低對其他feature的影響,一般在提測前merge回develop分支。

拉取源:develop。

合並目標:develop。

修改:允許。

生命期:合並后刪除。

4.臨時性多個預發布(測試)分支(release),用於QA測試。從develop拉取,測試完成merge回master和develop。如果測試期間,有其他版本合並入master,需要同步到release版本,並進行測試。

拉取源:develop。

合並目標:master & develop。

修改:允許。

生命期:合並后刪除。

 

4. 臨時性多個bug修復分支(fixbug),用於修復線上問題。從master拉取,修復並測試完成merge回master和develop。如果修復期間,有其他版本合並入master ,需要同步到fixbug版本,並進行測試。

拉取源:master。

合並目標:master,develop。

修改:允許。

生命期:合並后刪除。

以上內容,參考了文章:

http://nvie.com/posts/a-successful-git-branching-model/

http://www.ruanyifeng.com/blog/2012/07/git.html

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM