Git Commit Log優(yōu)雅的提交方式

Git Commit Log優(yōu)雅的提交方式

本文的完成參考于思否的文章,感謝原作者和阮一峰老師提供的思路。

現(xiàn)在團(tuán)隊(duì)開發(fā)新項(xiàng)目改用gitlab進(jìn)行托管,每次進(jìn)行g(shù)it commit的時(shí)候都很苦惱于寫什么信息,于是打算按照前人總結(jié)的經(jīng)驗(yàn)進(jìn)行規(guī)范一下信息。

書寫規(guī)范

書寫規(guī)范如下:

<type>: <subject>
<body>
type

提交commit的類型包含以下幾種:

  • feat: 新功能
  • fix: 修復(fù)問題
  • docs: 修改文檔
  • style: 修改代碼格式,不影響代碼邏輯
  • refactor: 重構(gòu)代碼,理論上不影響現(xiàn)有功能
  • perf: 提升性能
  • test: 增加修改測試用例
  • revert: 回退,建議直接使用Github Desktop回退,而不是使用命令
subject

書寫要遵循以下四種規(guī)則:格式盡量使用謂賓,使用謂賓不通順時(shí),可以使用主謂。具體來講就是新增某某功能、修改某某代碼等。

  • 除了名稱之外,描述盡可能使用中文,方便不同開發(fā)者理解
  • 結(jié)尾不加句號
  • 描述控制在20個(gè)漢字以內(nèi)
body

對本地提交的詳細(xì)描述,不建議。我們建議多次少量提交,而不是一次巨量的提交,有助于revertcode review,也對災(zāi)難存儲有容災(zāi)。

工具

這里的工具使用commitizen。

首先進(jìn)行安裝,步驟如下:

cd your-project
npm install commitizen --save-dev
commitizen init cz-conventional-changelog --save --save-exact

等你的項(xiàng)目有改動之后:

git add . //注意后面加上.
git cz

你會發(fā)現(xiàn)這里的cz替代了commit命令。如果提示Cannot find module '/Users/Chuck/黨建積分/node_modules/cz-conventional-changelog'(這里的路徑因人而異),這就需要在package.json修改commitizen的路徑。等沒有任何問題的時(shí)候,提交頁面會如下所示:

image

通過上下箭頭的選擇并輸入相應(yīng)的信息后,一路回車即可。下面是成功提交信息的頁面:

image

在命令行敲入命令git log就可看到所有的提交信息,從下圖可以看到最終提交的信息格式是:style: 這里是輸入提交信息的地方。

image

通過這樣的方式來描寫提交信息,清晰明了,也方便以后通過詳細(xì)的信息定位問題或回滾代碼。

總結(jié)

總的來看,采用工具進(jìn)行提交更加規(guī)范,也不容易出錯。只需要選擇好類型并輸入信息就可以了。美中不足的地方就是,不能通過命令行對某個(gè)文件的修改進(jìn)行提交,只能將所有的修改統(tǒng)一進(jìn)行提交(不過也有可能可以,只是我暫時(shí)不知道,希望知道的同學(xué)告知一下)。

最后編輯于
?著作權(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ù)。

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