1. 程式人生 > >git commit message form

git commit message form

commit message一般包括3部分:Header、Body、Footer。

<type>(<scope>):<subject>
blank line
<body>
blank line
<footer>

header是必需的,body、footer可以省略。
header中typesubject是必需的,scope可以省略。


type

用來說明commit的類別:

  • feat:新功能
  • fix:bug修復
  • docs:文件
  • style:格式(與功能無關)
  • refactor:重構
  • perf:優化
  • test:測試相關
  • chore:構建過程或輔助工具的變動

type是feature和fix時,則該commit會自動載入到 change log 中。其它type型別可選配,建議不要加入到 change log。

scope

用於說明commit影響的範圍,比如資料層、控制層、檢視層等。
如果修改不止影響一個scope,可以用*表示。

subject

對當前commit內容的簡要描述。

Body

對當前commit內容的詳細描述。

Footer

只用於以下兩種情況:

  • 不相容變動:如果當前版本與上一個版本不相容,則Footer部分以BREAKING CHANGE開始,加上詳細內容。
  • 關閉Issue:如果當前commit針對某個issue,則在footer部分關閉這個issue。

Revert

特殊情況,當前的commit用於撤銷之前的commit時,必須以revert開頭,加上將要被撤銷的commit的Header。
Body格式固定,This reverts commit加上將被撤銷的commit