Git Commit Message 的格式

元作者: 阮一峰
元文鏈接:http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html


每次提交,Commit message 都包括三個(gè)部分:Header,Body 和 Footer。

<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>

其中,Header 是必需的,Body 和 Footer 可以省略。

不管是哪一個(gè)部分,任何一行都不得超過72個(gè)字符(或100個(gè)字符)。這是為了避免自動換行影響美觀。


Header(必需)

  • type(必需) 用于說明 commit 的類別

    • feat:新功能(feature)
    • fix:修補(bǔ)bug
    • docs:文檔(documentation)
    • style: 格式(不影響代碼運(yùn)行的變動)
    • refactor:重構(gòu)(即不是新增功能,也不是修改bug的代碼變動)
    • test:增加測試
    • chore:構(gòu)建過程或輔助工具的變動
    • revert:用于以前的 commit,則必須以revert:開頭,后面跟著被撤銷 Commit 的 Header。
    revert: feat(pencil): add 'graphiteWidth' option
    
    This reverts commit 667ecc1654a317a13331b17617d973392f415f02.
    

    Body部分的格式是固定的,必須寫成This reverts commit &lt;hash>.,其中的hash是被撤銷 commit 的 SHA 標(biāo)識符。

    如果當(dāng)前 commit 與被撤銷的 commit,在同一個(gè)發(fā)布(release)里面,那么它們都不會出現(xiàn)在 Change log 里面。如果兩者在不同的發(fā)布,那么當(dāng)前 commit,會出現(xiàn)在 Change log 的Reverts小標(biāo)題下面。

    如果typefeatfix,則該 commit 將肯定出現(xiàn)在 Change log 之中。其他情況(docs、chorestyle、refactor、test)由你決定,要不要放入 Change log,建議是不要。

  • scope 用于說明 commit 影響的范圍,比如數(shù)據(jù)層、控制層、視圖層等等,視項(xiàng)目不同而不同。

  • subject(必需) 是 commit 目的的簡短描述,不超過50個(gè)字符。

    • 以動詞開頭,使用第一人稱現(xiàn)在時(shí),比如change,而不是changedchanges
    • 第一個(gè)字母小寫
    • 結(jié)尾不加句號(.

Body(可選)

Body 部分是對本次 commit 的詳細(xì)描述,可以分成多行。

有兩個(gè)注意點(diǎn):

  • 使用第一人稱現(xiàn)在時(shí),比如使用change而不是changedchanges
  • 應(yīng)該說明代碼變動的動機(jī),以及與以前行為的對比。

Footer(可選)

Footer 部分只用于兩種情況。

  • 不兼容變動

    如果當(dāng)前代碼與上一個(gè)版本不兼容,則 Footer 部分以BREAKING CHANGE開頭,后面是對變動的描述、以及變動理由和遷移方法。

  • 關(guān)閉 Issue

    如果當(dāng)前 commit 針對某個(gè)issue,那么可以在 Footer 部分關(guān)閉這個(gè) issue 。

    Closes #234

    也可以一次關(guān)閉多個(gè) issue 。

    Closes #123, #245, #992

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容