[Gitlab] 建立 Merge Request Templates,讓團隊合作更加順利!

本文目錄
  1. Merge Request 要有哪些資訊?
  2. 在 Gitlab 建立 Merge Request Templates 的步驟
  3. STEP 1: 選擇 Project default branch,建立存放 Templates 的資料夾
  4. STEP 2: 在資料夾下建立「.md」的 Templates

在多人協作的開發過程中,我們通常會需要透過 Merge Request 來進行 Code Review。

但這時會遇到一個問題:「每個人對專案的認知有差異,且文字表達能力不同。」

這會導致 Code Review 的人需要花更多的時間來理解程式,甚至浪費寶貴的時間在溝通上;有些交代不清楚的 Merge Request 如果被合併了,也容易在未來發現 Bug 時難以釐清問題。

而解決上面問題的方式也很簡單:「建立 Template(模板)」

如果大家都按照模板撰寫,就能保證每個 MR 都有一定的品質。

\[Gitlab\] 建立 Merge Request Templates,讓團隊合作更加順利!(圖 1)

Merge Request 要有哪些資訊?

筆者個人建議一個好的 Merge Request 要包含以下元素:

  1. 概要 & 背景:簡短描述這次 Merge Request 的目的,讓 Code Review 的人可以快速理解前因後果。
  2. 相關資訊:放上專案需求規格連結、關聯的 Project/branch、會議紀錄等資訊。
  3. 變更內容:說明新增/修改/移除了什麼內容,如果邏輯複雜可以簡述演算法。
  4. 測試步驟:描述如何驗證這次的變更,包括需要運行的測試和預期結果。

大家可以參考我的 Merge Request Template 格式(Markdown 語法):

# 概要 & 背景

# 相關資訊

- 需求規格: 
- 關聯的 Project/branch: 
- 任務 Ticket/會議紀錄: 

# 變更內容

- [新增] xxx
- [修改] yyy
- [移除] zzz

# 測試步驟

### 測試項目 1

- STEP 1: 
- STEP 2: 
- STEP 3: 

預期結果:

英文版:

# Summary & Background

# Relevant Information

- Requirement Specifications: 
- Associated Project/Branch: 
- Task Ticket/Meeting Notes: 

# Changes

- [Added] xxx
- [Modified] yyy
- [Removed] zzz

# Testing Steps

### Test Case 1

- STEP 1: 
- STEP 2: 
- STEP 3: 

Expected Result:

在 Gitlab 建立 Merge Request Templates 的步驟

STEP 1: 選擇 Project default branch,建立存放 Templates 的資料夾

我們要先在根目錄下建立 .gitlab/merge_request_templates/ 的資料夾。

STEP 1: 選擇 Project default branch,建立存放 Templates 的資料夾(圖 2)

STEP 1: 選擇 Project default branch,建立存放 Templates 的資料夾(圖 3)

小提醒:一定要在「default branch(ex: main、develop)」下建立,否則是沒有效的。

STEP 2: 在資料夾下建立「.md」的 Templates

你可以直接複製筆者在前面提供的 Markdown Template,這邊我將檔案命名為「merge.md」。

STEP 2: 在資料夾下建立「.md」的 Templates(圖 4)

這邊我開一個測試的 branch 來做 Merge request,大家可以看到在 Description 旁邊有一個下拉選單,裡面的 merge 就是我們剛剛新增的模板。

STEP 2: 在資料夾下建立「.md」的 Templates(圖 5)

選擇後就能看到剛剛建立的 Merge request Template:

STEP 2: 在資料夾下建立「.md」的 Templates(圖 6)

相信一個好的 Merge request Template 能提高專案的品質,並加速團隊的協作流程,減少不必要的溝通成本。

軟體工程 Edit description dean-lin.medium.com
Talk

留言討論

留言載入中…