博客地址:git commit 使用及规范
一、前言
日常开发中,保持良好的代码规范有利于提高项目的质量。而指定并遵守 git commit 的使用规范,则有利于提高项目的管理效率。
二、提交格式
在git add后,需要执行git commit进行提交,如、约定中应添加对应的描述信息,即通过:git commit -m 进行提交
提交格式如下:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
type表示提交类别,scope表示修改范围,subject表示标题行, body表示主体描述内容。
<BLANK LINE>
表示为空行,不填写任何内容
1、type说明
type 是 commit 的类别,只允许以下几种标识
- feat: 添加新特性
- fix: 修复bug
- docs: 文档改变
- style: 代码格式改变,不改变代码逻辑
- refactor: 代码重构,没有加新功能或者修复bug
- perf: 优化相关,比如提升性能、体验
- test: 增加测试代码
- chore: 改变构建流程、或者增加依赖库、关联包升级、工具等
- revert: 回滚到上一个版本
2、scope说明【可选】
非必填(建议填写),scope用于说明 commit 影响的范围,建议填写影响的功能模块。
如果你的修改影响了不止一个scope,你可以使用*代替。
3、subject说明
- 必填, commit 目的的简短描述,不得超过50个字符。
- 推荐以动词开头,如: 设置、修改、增加、删减、撤销等
- 使用第一人称现在时,比如change,而不是changed或changes
- 第一个字母小写
- 结尾不加句号
4、body说明【可选】
非必填(建议填写),可描述当前修改的行为详细信息或修改的目的。
5、footer说明
非必填,一般用于描述BREAKING CHANGE,在项目开发中一般不需要填写,组件研发的工程需要填写。
Footer 部分只用于两种情况。
(1)不兼容变动
如果当前代码与上一个版本不兼容,则 Footer 部分以 BREAKING CHANGE 开头,后面是对变动的描述、以及变动理由和迁移方法。
BREAKING CHANGE: 提升依赖版本,不再支持12.0.0一下版本
(2)关闭 Issue
如果当前 commit 针对某个issue, 那么可以在 Footer 部分关闭这个 issue,也可以一次关闭多个 issue
Closes #234
三、提交方式
执行git commit
后,命令行进入vim编辑器,按照上述规定的格式在注释前加入要提交的commit信息。
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
# Your branch is up to date with 'origin/master'.
#
# Changes to be committed:
# new file: source/_posts/011.md
#
# Changes not staged for commit:
# modified: package-lock.json
# modified: package.json
# modified: themes/next (modified content, untracked content)
#
输入完成后,保存文件,执行 git push
命令,提交完成。
青冥有晓月