git命令的规范
最近在实习当中意识到了自己在git命令命名的不规范,现在已经是团队合作了,一定要规范自己的git提交,所以mentor发了这一篇文档让我学习
https://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html
简单地进行了总结
git命令的规范
格式化的 Commit message 有三大好处:
- 提供更多历史信息,方便快速浏览:可通过
git log <last tag> HEAD --pretty=format:%s查看每次提交的目的。 - 过滤特定提交:例如,用
git log <last release> HEAD --grep feature只显示新功能。 - 自动生成 Change log:基于提交记录直接生成版本变更文档。
1、Commit message 的格式(Angular 规范)
每次提交包括三部分:Header、Body、Footer。
格式示例:
<type>(<scope>): <subject><body><footer>
- Header 必需,Body 和 Footer 可省略。
- 任何一行不超过 72 字符(或 100 字符),避免自动换行影响美观。
Header 字段说明
- type(必需):说明提交类别,仅允许以下 7 种:
feat:新功能fix:修补 bugdocs:文档style:格式(不影响代码运行)refactor:重构(非新增功能或 bug 修复)test:增加测试chore:构建过程或辅助工具变动注:feat和fix必然出现在 Change log 中,其他类型可选。
- scope(可选):说明影响范围(如数据层、视图层)。
- subject(必需):简短描述(≤50 字符),要求:
- 动词开头,第一人称现在时(如
change非changed)。 - 首字母小写,结尾不加句号。
- 动词开头,第一人称现在时(如
2. Body 部分
- 详细描述提交内容,可分多行。
- 使用第一人称现在时,说明代码变动的动机及与之前行为的对比。
3. Footer 部分
仅用于两种情况:
- 不兼容变动:以
BREAKING CHANGE开头,描述变动、理由及迁移方法。 - 关闭 Issue:格式如
Closes #234或Closes #123, #245。
4. 特殊情况:Revert
撤销提交时,Header 以 revert: 开头,Body 固定格式:
This reverts commit <hash>(hash 为被撤销提交的 SHA 标识符)。
