什么是約定式提交?
約定式提交規(guī)范是一種基于提交消息的輕量級約定苫纤。所謂輕量級約定阔籽,說白了,就是有一套用于創(chuàng)建提交消息的簡單規(guī)則驹马,這套規(guī)則源自于Angular 提交規(guī)范
Commit Message Format
<type>[optional scope]: <description>
[optional body]
[optional footer]
翻譯成中文就是:
<類型>[可選 范圍]: <描述>
[可選 正文]
[可選 腳注]
每一條提交信息包含header革砸、body、footer糯累。header包含type算利、scope和description三部分。
header
type
- feat: 新功能
- fix: 修復bug
- docs: 只改動了文檔
- style: 修改代碼格式(例如去掉空格泳姐、改變縮進效拭、增刪分號,不影響代碼邏輯)
- refactor: 重構代碼(非修復bug和增加新功能)
- perf: 提升性能的改動
- test: 添加或修改測試代碼(Adding missing or correcting existing tests)
- chore: Changes to the build process or auxiliary tools and libraries such as documentation generation
- revert:回滾到上一個版本
- ci:持續(xù)集成
- build:構建版本
scope
代碼變更影響的范圍
- 名詞
- 圓括號包圍胖秒,例如fix(parser)
description
代碼變更的簡短描述
body
選填項缎患,相對于上述的description,body用于更加詳細的描述本次提交中所做出的修改阎肝。其中需要包括:
- 本次修改的動機
- 對比于修改之前的改進之處
footer
footer 部分一般用于記錄不兼容的改動挤渔,以 BREAKING CHANGE 開頭,后面是對變動的描述风题、以及變動理由和遷移方法判导。最后還可以添加關閉的 issue。
為什么要用約定式提交沛硅?
- 自動化生成 CHANGELOG眼刃。
- 基于提交的類型,自動決定語義化的版本變更摇肌。
- 向同事鸟整、公眾與其他利益關系者傳達變化的性質。
- 觸發(fā)構建和部署流程朦蕴。
- 讓人們探索一個更加結構化的提交歷史篮条,以便降低對你的項目做出貢獻的難度。
如何在項目中規(guī)范化地提交吩抓?
Commit Message Editor
Commit Message Editor是一款基于VScode可支持文本式和表格式兩種提交方式的工具涉茧。
Commit Message Editor.png
進入Commit Message Editor
image.png
文本式提交
文本式提交.png
表格式提交
表格式提交.png