1. 程式人生 > >使用git進行專案版本管理

使用git進行專案版本管理

為規範原始碼版本管理,現將各分支表述如下:

1.master分支 
存放的應該是隨時可供在生產環境中部署的程式碼 
當開發活動告一段落,產生了一份新的可供部署的程式碼時,master分支上的程式碼會被更新。同時,每一次更新,都有對應的版本號標籤(TAG)。 
分支命名:master 
該分支,由管理員負責維護,其它人只有拉取許可權。來自於release分支的合併,供發版使用 
生命週期:伴隨著整個專案的生命週期,專案結束時結束。

2.develop分支 
develop分支是每次迭代版本的共有開發分支,從最新的master分支派生(管理員操作) 
當develop分支上的程式碼已實現了軟體需求說明書中所有的功能,派生出release分支(管理員操作) 
分支命名:dev-版本號 
該分支,由開發人員在各自的feature分支開發完成後,合併至該分支。 
生命週期:一個階段功能開發開始到本階段結束

3.release分支 
從develop分支派生(管理員操作) 
測試環境中出現的bug,統一在該分支下進行修改,並推送至遠端分支。修改內容必須合併回develop分支和master分支。 
分支命名慣例:release-版本號 
生命週期:一個階段功能開發結束開始,完成階段功能測試並修復所有發現bug,合併會develop分支結束。

4.feature分支 
在開發一項新的軟體功能的時候使用,這個分支上的程式碼變更最終合併回develop分支 
分支命名慣例:feature-姓名全拼-分支說明-日期 / feature-分支說明-日期 
例:接到一個開發關於cc視訊點播替換的任務,你需要從develop分支拉出一個分支,並命名為:release-yuruixin-ccVideo-20171117。然後在該分支下進行開發,開發結束,將該分支合併至develop分支(此時的程式碼必須為可執行的,不能影響到他人),合併完成刪掉該特性分支。 
開發人員的每一個新功能開發都應該在該類分支下進行。 
生命週期:開發一個新功能開始,完成新功能開發併合並回develop分支結束。

5.hotfixes分支 
在master分支發現bug時,在master的分支上派生出一個hotfixes分支,修改完成後,合併至master分支以及develop分支,合併完成,刪除該hotfixes分支。 
分支命名慣例:hotfixes-姓名全拼-分支說明-日期 
示例:hotfixes-yuruixin-cclivebug-20171117 
生命週期:發現master分支bug開始,完成master分支bug結束。

綜上,開發人員需要操作的分支如下:

feature分支  (開發使用)
release分支   (測試中出現的bug修改)
hotfixes分支 (master中出現的bug修改)
  • 1
  • 2
  • 3

整個流程可以下圖展示

這裡寫圖片描述