利用commitizen來規(guī)范化你的commit-message

前言

我們在每次提交代碼時,都需要編寫Commit Message,否則是不允許提交的。 git commit -m "first commit with userInfo service"
編寫Commit Message需要遵循一定的范式,內(nèi)容應(yīng)該清晰明了,指明本次提交的目的,便于日后追蹤問題。
commitizen就是這么樣一款工具,他用來規(guī)范化我們的commit消息。

安裝指南

  1. 安裝commitizen

sudo npm install -g commitizen

  1. 配置

cd到.git所在目錄

commitizen init cz-conventional-changelog --save --save-exact

  1. 使用

git cz命令來取代git commit

異常情況

有可能提示你缺少package.json

package.json的下載地址

配置第二個項目

當(dāng)我們配置第二個項目的時候我們只需要進入到對應(yīng)的項目目錄下,輸入如下的命令commitizen init cz-conventional-changelog --force
我們就可以使用git cz命令了

commitizen詳解

Message 格式

一般來說,Commit Message 應(yīng)包含三部分內(nèi)容:Header、Body、Footer

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

Header

Header部分應(yīng)只包含一行,包括三個字段:type、scope和subject

  • type type用于說明Commit的類型,包含一下7種類型
    feat:新功能(feature)
    fix:修補bug
    docs:文檔(documentation)
    style: 格式(不影響代碼運行的變動)
    refactor:重構(gòu)(即不是新增功能,也不是修改bug的代碼變動)
    test:增加測試
    chore:構(gòu)建過程或輔助工具的變動
  • scope
    scope用于說明本次Commit所影響的范圍,比如controller、user或者README,視項目的不同而不同
  • subject

    subject是本次Commit目的的簡短描述,一般不要超過50個字符

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

Body

Body是對本地提交的一個詳細描述,下面是一個示例

More detailed explanatory text, if necessary.  Wrap it to 
about 72 characters or so. 

Further paragraphs come after blank lines.

- Bullet points are okay, too
- Use a hanging indent

Footer

Footer只用于兩種情況

  • 不兼容改動

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

  • 關(guān)閉Issue

如果當(dāng)前Commit是針對某個Issue的提交,那么久可以在Footer中關(guān)閉這個Issue:Closes #234

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

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

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