建立良好規範與開發者的互動

當團隊開始 Pull Request 順暢後,慢慢的也會討論出一些規範與 Pull Request 的重點, 如果在建立的時候,能有一些 Checklist 讓新工程師自我檢查,或者是讓每個工程師都能遵循相同的寫法,讓同事快速理解這次審核的目的與重點,這時就能利用 Template 來標準化

建立第一個 Pull Request Template

Template 檔案可以是 .md.txt 的檔案類型,預設的範本放置以下的路徑即可生效 (則一即可)

<repository root>/.azuredevops/pull_request_template/
<repository root>/.vsts/pull_request_template/
<repository root>/docs/pull_request_template/
<repository root>/pull_request_template/

以下直接用 Azure Repo 的 UI 來做示範:

建立一個 Folder 建立一個 Folder

建立一個 docs/pull_request_template 資料夾, 並直接新增 <a href="http://default-pr-template.md/">Default-PR-Template.md</a> 檔案 建立一個 docs/pull_request_template 資料夾, 並直接新增 Default-PR-Template.md 檔案

撰寫一個範本並 Commit 撰寫一個範本並 Commit

**將這支 PR 所做的事情,取代這段文字,描述越詳細越好。**

提交 PR 前,請先檢查以下是否已完成:

- [ ] 是否已將此 PR 綁定相關 Ticket
- [ ] 請先自行 rebase/merge
- [ ] 是否撰寫單元測試
- [ ] 這支 PR 是否有明確的標題、內容描述

-----------------

補充說明:

建立一個 Branch 並針對任一檔案做異動 建立一個 Branch 並針對任一檔案做異動

建立 Pull Request 建立 Pull Request

此時就能看到多了一個 Add a template 選項,可直接帶入 此時就能看到多了一個 Add a template 選項,可直接帶入

如何針對 Branch 做範本設定

但讓工程師用選的還是會忘記,另外就是如果想針對不同分支有不同的範本,這時就能再建立 **branches **資料夾,依據分支名建立範本,譬如我想要在 merge 至 main 自動帶入範本,就能新增一個 **main.md **檔案

這時就會發現開 Pull Request 後,範本自動帶進來了

而如果要讓 feautre/* 或 hotfix/* 這種分支名稱都帶入同一個範本,只要新增 feature.md 即可

建立 Additional Template

有時除了範本外,也可以視情況插入一些額外的內容,這時候只要新增類似的範本到上面所提到的資料夾底下即可,譬如我們在資料夾底下加入一個 md-table.md 的範本

| Header1 | Header2|
|  ----   | ----   |
| ItemA   | A      |
| ItemB   | B      |

此時就可以選剛剛建立的範本,直接插入

參考連結

Improve pull request descriptions with pull request templates — Azure Repos | Microsoft Learn