乐趣区

关于golang:GIt-commit-规范

最近有幸参加到了一个开源我的项目的流动,看到他人提交的 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 就行了。
就像这样

是不是很不便?

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

退出移动版