Skip to content

Branch 命名規範

tabs: Git 規範

命名規範

基本命名原則

  • 使用小寫
  • 使用連字符 - 分隔
  • 簡潔描述分支目的
  • 包含類型前綴

風格比較

使用 /

<type>/xxxx-xxxx

使用 -

<type>/xxxx-xxxx

工具

支持 / 的工具:

  • GitHub
  • GitLab
  • Bitbucket
  • Azure DevOps

支持 - 的工具:

  • Jira
  • Gerrit
  • 某些 CI 系統

Branch 前綴類型

同 Commit Type

Commit Type說明
feat新增功能或需求異動 (feature),例如實作一個新功能或因應需求變更的調整
fix修補 bug (bug fix),修正程式中的錯誤或問題,使其正常運作
style格式調整 (style),不影響程式運行的變更,如調整 CSS、空格或補上分號等排版工作
refactor程式碼重構 (refactor),改進現有程式碼結構,既非新增功能也非修補 bug,而是提升程式品質
docs文件更新 (documentation),例如新增註解、編寫說明文件或更新 md 檔
perf效能改善 (performance),優化程式碼以提升運行速度或效率
chore雜務調整 (chore),例如更新套件版本、修改建構流程、調整 CICD 的 yml 檔或 Dockerfile,這類不直接影響系統的維護工作
revert撤銷回覆 (revert),取消先前的 commit,例如「revert: feat(某功能):某某描述 (回覆版本:xxxx)」
test測試新增 (test),例如補充單元測試或新增測試程式以驗證功能

Example

❌ 不好的分支名稱

  • 沒有前輟
my-fix
  • 只用票號

沒辦法從分支名稱直接了解這個 feature 是做什麼用的,必須透過多一次的查找才能搞的清楚

feat/PROJ-123
feat/issue-3445
  • 過於簡短
feat/login
  • 不一致的命名 (假設已經確定是要feat,但用了別的名)
feature/login

✅ 好的分支名稱

  • 特徵當分支名稱
feat/add-login-component
  • 一致的命名方式
feat/login-feature
feat/payment-integration
bugfix/session-timeout
  • 用票號
feat/PROJ-123-footer-links

怕 branch 名稱重複,可在後面加上日期

feat/add-login-component-20241128

資料參考