Git工作流規範

Git基本原理及命令使用

Git簡明教程

Git工作流使用方式選擇

  • 微型項目,使用集中式工作流。
  • 小型項目,功能分支工作流。
  • 中大型的互聯網項目,不斷需求迭代,一個版本接一個版本,參考並使用如下Git工作流。

Git工作流使用場景

當一個項目中有多個不同版本的需求迭代,每個版本由不同的開發人員參與開發,每個版本上線時間不一致。目前很符合大屏代理服務端接口的這種場景,可以遵循Git工作流規範。其他類似的項目模式,多人協作開發場景,亦可遵循此Git工作流規範。

Git工作流規範

在這裏插入圖片描述

Git工作流規範說明

1、 master分支是基礎分支,永遠是趨於最穩定的版本,並且受保護的,不允許直接merge其他分支到master分支。

release分支預發佈環境測試通過,發起merge request,請參考如下步驟2。

Accept merge request完成後,通過legit平臺或命令行方式創建本次上線的tag,並添加註釋說明。(tag:需求上線里程碑,同時也用於代碼回滾使用)

命令行方式:

  1. 創建tag git -a ‘master.tag.2.8.0’ -m ‘添加註釋說明’

  2. 將tag推送到遠程分支,git push origin master.tag.2.8.0

2、 release分支屬於臨時預發佈分支,從master分支拉取,用於QA迴歸測試,冒煙測試,正式上線前期的測試。

  • 2.1 當一個需求迭代版本需要上線,可以直接從master分支拉出release分支。

命令規範:release命名根據本次需求升級feature來定。比如:release_child_v4.1.0

  • 2.2 release分支創建完成,將測試通過的feature/x_4.1.0分支代碼通過legit代碼平臺發起merge request

    操作步驟 (不同平臺可能略有差異,如Gitee跟Gitlab不同):

  1. 進入Merge Requests,點擊 +New Merge Request
    選擇Source branch(功能分支),Target branch(目標分支-release分支),點擊Compare branches and continue
    在這裏插入圖片描述

  2. Title中簡述本次變更內容

    Description中填寫本次變更的詳細內容:

    1、新增專輯詳情頁V2版本接口

    2、yyy

    3、zzz
    在這裏插入圖片描述

  3. 點擊Changes查看本次版本變更詳細代碼,自己可以詳細再過一遍代碼看看是否還有問題。
    在這裏插入圖片描述

  4. 確認沒有問題,點擊 Submit merge request 按鈕提交,並通知代碼審覈人完成代碼審覈和accept。

  • 2.3 代碼審覈人,進入legit平臺該項目中。

    操作步驟:

  1. 點擊Merge Requests,點擊Changes查看代碼變更,並做審覈。

  2. 代碼審覈未通過,通過增加Comment,並告知代碼提交者進行修改,修改完成繼續發起merge request。

  3. 審覈通過,點擊Accept merge request 將代碼合併到release分支。

3、 develop分支屬於集成測試分支,從master分支拉取,多人開發的迭代版本集成到這上面,發佈到測試環境的分支。

develop分支也算臨時分支,需求迭代測試一段時間,可能會跟master版本差異較大,根據實際情況,考慮重新從master拉取分支,將各個feature分支代碼合併進來,再發布到測試環境中。

因爲項目中一般就一套測試環境,如果有多套,可以創建不同的develop分支,分開部署。

4、 local分支屬於開發人員本地分支。

基本都是從基準代碼master分支拉取的,一個功能模塊新建一個分支,利用好git多分支的優勢。

命令規範:feature/xxx_yyy_v4.1.0

5、 bugfix分支,從基準代碼master分支拉取,bug修復完成同步到你的本地開發local分支和develop集成分支一份。

命名規範:bugfix/xxx_yyy_v4.1.0

分支清理:

當一個需求迭代版本代碼開發完成,合併到master,打完tag上線平穩運行後 ,就可以將feature分支、release分支刪除掉了。

需求迭代一個階段後develop集成分支功能全部上線,下一個版本需求從master重新拉一個新的develop分支作爲集成分支。

開發代碼提交註釋:

明確寫清楚本次修改內容,儘量是每天提交一次,或者完成一個模塊功能提交一次commit。

Git 標籤版本號制定

Git tag 版本號規範:主版本號.次版本號.ISSUE版本號

示例:

Tag版本號:3.1.1

3:表示大版本,比如大的系統重構等。

1:表示功能迭代版本,每次新的需求迭代上線後 +1

1:表示ISSUE版本,在 3.1 功能版本下,修復一些列小問題,比如Bugfix等。修復一次版本 +1

版本升級舉例:

兒童4.0.0.0需求上線,變更爲:3.2.0

兒童4.0.0.0線上BUG修復,變更爲:3.2.1

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