最近有幸参加到了一个开源我的项目的流动,看到他人提交的 commit 都很标准,本人的都是些什么鬼?通过一番搜寻,发现网上很多都提到了 angularjs 的标准。

格局

Commit Message 格局<type>(<scope>): <subject><空行><body><空行><footer>

分为 页眉、注释和页脚。其中页眉包含了类型、范畴还有 subject。

type

类型形容
feat新增 feature
fix修复bug
docs仅仅批改了文档,比方 README...
style批改了空格、格局缩进、逗号等,不扭转代码逻辑
refactor代码重构,没有加新性能或者修复bug
perf优化相干,比方晋升性能、体验
test测试用例,比方单元测试、集成测试等
chore扭转构建流程、或者减少依赖库、工具等
revert回滚到上一个版本

scope

具体改变的文件

subject

对注释的概括

body

just as in <subject> use imperative, present tense: “change” not “changed” nor “changes”

includes motivation for the change and contrasts with previous behavior

footer

不兼容变动

如果以后代码和上一个版本不兼容,须要在这里以 BREAKING CHANGE 结尾,前面接具体的形容

相干 issues

这里是和变动相干的 issues。例如:

Closed bugs should be listed on a separate line in the footer prefixed with "Closes" keyword like this:

Closes #234

or in case of multiple issues:

Closes #123, #245, #992

工具

既然有规范了,那必定就会有对应的工具来辅助人们写 commit message,工具貌似还不少,我这里应用 git-cz

在须要应用 git commit 的时候换成 git cz 就行了。
就像这样

是不是很不便?

公众号:没有幻想的阿巧 后盾回复 "群聊",一起学习,一起提高