---
# System prepended metadata

title: '[Git] Conventional Commits 規範性提交'
tags: [git]

---


# [Git] Conventional Commits 規範性提交

## 什麼是 Conventional Commits？

Conventional Commits 是一種對 Git commit 訊息的格式化慣例，旨在提供一組清晰的規則，使得提交的歷史更容易被理解，並且可以自動生成如更新日誌或者版本號。

## Conventional Commits 的結構

一個 Conventional Commit 訊息由三部分組成：類型、主題和可選的正文。

* 類型：這是 commit 的類型，例如 
    * feat（新功能）:新增一個新功能。例如：`feat: add search functionality`
    * fix（修復 bug）:修復一個 bug。例如：`fix: correct typo in login screen`
    * docs（文檔變更）:只改變了文件。例如：`docs: update README with project setup instructions`
    * style（不影響代碼邏輯的變更，如格式化）:不影響代碼運行的變動 (空白、格式化等)。例如：`style: format code with prettier`
    * refactor（重構代碼）:既不是修復 bug 也不是添加新功能的代碼變動。例如：`refactor: simplify API request logic`
    * perf（性能優化）:提高代碼性能的變動。例如：`perf: improve login page load time`
    * test（添加或修改測試）:添加或修改測試。例如：`test: add unit test for login function`
    * chore（對構建過程或輔助工具的變更）:對構建過程或輔助工具和庫的變動。例如：`chore: update project dependencies`
* 主題：這是一個簡短、清晰的描述，說明 commit 做了什麼。
* 正文（可選）：如果需要，可以提供更詳細的說明。這裡可以解釋為什麼進行這些變更，這些變更的具體影響，以及任何可能的副作用。

## 結語
Conventional Commits 提供了一種統一的方式來撰寫 commit 訊息，使得其他開發者更容易理解 commit 的目的，並且可以利用工具自動生成更新日誌或者確定版本號。希望這篇文章能幫助你理解並開始使用 Conventional Commits。