最近有幸参加到了一个开源我的项目的流动,看到他人提交的 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 就行了。
就像这样
是不是很不便?
公众号:没有幻想的阿巧 后盾回复 “ 群聊 ”,一起学习,一起提高