親師友|git使用研發流程(企業新手git使用實例教程)

1. Git Flow 實體模型

 


Git 流程使用規范

 

(圖片出處:A successful Git branching model)

2. Git Flow 分支表明

Master

發版分支 維護分支。功能代碼在 Release 分支上測試通過、或 BUG 已經在 Hotfix 分支上修補,就需要將代碼合并到 Master 分支。代碼合并到 Master 分支,即意味著隨時都可以發版,發版成功時必須根據 Master 分支里的全新遞交連接點打 Tag。

Hotfix

修補分支 臨時性分支。網上發生應急 Bug 時,必須根據相匹配版本 Tag 創建修補分支,難題修補結束時為此分支開展提測。難題修補后,需在代碼合并到 Develop 和 Master 分支。

根據發版 Tag 創建,最終合并到 Develop 和 Master 分支。

Release

預發布分支 臨時性分支。功能開發設計進行并合并到 Develop 分支時,根據 Develop 分支創建 Release 分支開展提測 。Release 分支中出現危害發版的 Bug 時,必須創建 Feature 分支改動 Bug;當測試通過后,需在代碼合并到 Develop 和 Master 分支。

根據 Develop 分支創建,最終合并到 Develop 和 Master 分支。

Develop

開發設計分支 維護分支。多人協作開發設計后的代碼合并總分支,功能分支向 Develop 分支合并時,通常會有 CodeReview 步驟。

根據 Master 分支創建。

Feature

功能分支 臨時性分支。有潛在需求時,根據最新 Deveop 分支創建功能分支,功能開發設計結束時,需在代碼合并到 Develop 分支。

根據 Develop 分支創建,最終合并到 Develop 分支。

3. Tag&Branch 的差別

Tag 和 Branch 類似,全是引入換句話說者表針。在工程里 .git/refs 目錄下可以很清楚的見到,每個 Tag 和 Branch 所說向的遞交節點 SHA-1 值。

差別:

Tag:Tag 位置是不變的,在為特定遞交做好標識之后,他就固定在此部位

Branch:Branch 位置會持續變化的,伴隨著分支的往前變化或向后回退,都是在隨時變化

最好使用 Tag,儲存代碼精彩片段。

1. Commit Message 文件格式

():

<空白行>

 

<空白行>

 

 

能夠得知分成三個部分,頭頂部、行為主體、底端。

頭頂部

():

type 種類,改動的種類等級:

feat:新功能(feature)

fix:修復 bug

docs:文本文檔(documentation)

style: 文件格式(不受影響代碼運轉的變化)

refactor:重新構建(即并不是新增加功能,并不是改動 bug 的代碼變化)

test:提升檢測

chore:搭建全過程或輔助軟件的變化

scope 改動范疇:

通常是此次改動涉及的一部分,最好是簡單歸納

subject 改動的小標題:

通常是實際改動的功能點

body:關鍵對此次 commit 的詳細說明,能夠分為多做。

footer:關鍵擺放兼容問題變動和 Issue 取消的信息內容。

為了更好地代碼的高效遞交,body 和 fotter 一部分能夠省去。

2. 應用詳細介紹

需求開發或是改動 Bug 時,遞交代碼時應加上相匹配 Jira 序號:

git commit -m "feat(CHESS-1217): 個人中心提升共享通道及共享功能開發設計"

改動 Bug 時,必須指出改動代碼所屬控制模塊:

git commit -m "fix(共享): 改動修改一部分手機共享高清大圖為空難題"

并沒有實際控制模塊、或是多模塊代碼一起遞交時,可以使用別的遞交方法:

git commit -m "fix(BUG): 改動消息推送小紅點提醒邏輯性"

3. 有關專用工具

Git Hook 自定阻攔腳本制作:commit-msg

使用場景:python3.7

使用方法:

開啟工程項目目錄下的 .git/hooks 文件夾

將 commit-msg 腳本制作拷貝到文件夾下,就可以

全局性設定:利用下面方法,可全局性設定,每一次 git clone 時,全自動將 commit-msg 腳本制作導入到工程項目的 hooks 清單中:全局性設定 commit-msg。

別的專用工具:

Commitizen:協助編寫達標 Commit message 的一種手段

Commitlint:Commit message 標準校檢專用工具

4. 擴展

GitLab 與 Jira 關系

實際效果:Git Commit 時,在 message 里邊加上訂單號,可以從 Jira 相匹配訂單寶貝詳情查詢到此次遞交。

配備:官方文檔。

1. 審查階段

代碼審查出現于 Feature 分支向 Develop 分支合并的過程當中:

 


Git 流程使用規范

 

(圖片出處:ProcessOn 模版)

2. 代碼評審流程

 


Git 流程使用規范

 

不一樣的顏色塊,意味著不一樣角色

創建一個 Merge Request 能夠進行數次 Push

開發者促進全部代碼評審流程的落實,包括及時聯系成員審查代碼、通告小組長合并代碼等

3. 維護分支設定

在 GitLab 開啟要設定的工程項目 (Maintainers 人物角色),挑選 Setting -> Repository -> Protected Branches:

 


Git 流程使用規范

 

將 master 和 develop 分支設為維護分支,也只能是 Maintainers 人物角色 能夠合并要求,而且嚴禁立即 push 代碼。

 


Git 流程使用規范

 

通過上述設定以后,全部代碼只能依靠創建 Merge Request 的形式合并到 develop 和 master 分支;為了能代碼庫的安全性,必須回收利用 Maintainers 管理權限,除小組長以外開發者全是 Developer 管理權限。

4. Merge Request

1. 創建 Merge Request

開啟 Project -> Merge Requests -> New merge request,挑選分支創建合并要求:

 


Git 流程使用規范

 

挑選源分支,必須合并的代碼所屬的分支

挑選總體目標分支,將全新代碼合并過的分支

2. 填好必需信息內容

 


Git 流程使用規范


Git 流程使用規范

 

Title:簡易匯總此次 Merge 的改動點

Description:詳細說明修改內容,影響程度等

Assignee:受托人,挑選具備Maintainers 角色的成員,該成員會收到合并請求的郵件通知,最后由該成員合并請求

{n}{t}

{n}{t}{t}Approvers:一般選擇小組成員,小組成員具有審核代碼權限,對不合格代碼可以要求開發者修改

{n}{t}

{n}{t}{t}分支選擇,功能分支向 develop 分支合并時,會有刪除源分支選項,建議勾選

{n}{t}

{n}{t}{t}針對本次合并的提交,一次合并請求可以包含多次提交

{n}{t}

{n}{t}{t}3. 代碼評審及合并請求

{n}{t}

{n}{t}{t}{p}

{n}{t}

{n}{t}{t}Git 流程使用規范
{n}{t}
{n}{t}{t}Git 流程使用規范
{n}{t}

{n}{t}{t}{p}

{n}{t}

{n}{t}{t}只有評審成員評審通過時,合并按鈕才會高亮,才能合并代碼

{n}{t}

{n}{t}{t}參與代碼評審的成員,認為代碼沒有問題時,可點擊該按鈕

{n}{t}

{n}{t}{t}針對當前代碼創建的討論,有討論存在時,開發者需要及時解決

{n}{t}

{n}{t}{t}如果代碼有問題,可直接創建一個討論,即 3 列表會增加,開發者修改之后可點擊 5 關閉討論

{n}{t}

{n}{t}{t}代碼修改之后,或者不需要修改,點擊關閉討論

{n}{t}

{n}{t}{t}5. 其他注意事項

{n}{t}

{n}{t}{t}1. 提交合并請求時,先同步最新代碼

{n}{t}

{n}{t}{t}提交合并代碼前,建議先執行 git fetch 和 git merge/rebase 將 develop 分支下的最新代碼更新到開發分支,再提交合并請求,避免造成沖突。

{n}{t}

{n}{t}{t}2. 合并代碼到 master 分支

{n}{t}

{n}{t}{t}通過 d

Git 流程使用規范

Git 流程使用規范

Git 流程使用規范

Git 流程使用規范

Git 流程使用規范

Git 流程使用規范

Git 流程使用規范

Git 流程使用規范

原創文章,作者:leping,如若轉載,請注明出處:http://www.qdgszy.com/hq-4164.html

(0)
上一篇 2022年11月13日 上午7:40
下一篇 2022年11月13日 上午10:39

相關推薦

日韩三级片网站,嫩草影视欧美,国产裸体歌舞一区二区,久久不射视频