在公司由于大家随意提交 git-commit 的信息,导致提交的风格千奇百怪,写的信息不明确,不知道这次提交具体是修复 bug 呢?还是增加新功能,还是单纯改了一些配置文件,亦或是重构了一些不好的代码。只能靠大家自己去猜测,就算是自己提交的信息,也可能因为时间长导致自己也不清楚具体这次提交是为了干啥,只能去提交记录里翻代码,长此以往,不利于产品的迭代,以及对于 bug 的定位。
基于这个原因,我们开始寻找比较符合规范的提交格式,Angular 团队的 Angular Team Commit Specification 进入了我们的视野,格式如下:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
清晰的信息展现,让我们觉得这个就是我们正在寻找的!为此我们开始搜IDE 有没有对应的插件可以使用,幸运的是后端 Java 团队使用的 IDEA 直接就有现成的插件可以使用,苦逼的我们前端团队都是统一用的 Vscode ,看到了几款插件,但是都不符合我们的要求,为了前端团队不拖后腿,于是乎就想着自己写一款符合要求的插件来供团队使用。
git-commit-plugin
并且进行安装。
Command + Shift + P
呼出 指令行,并键入指令 show git commit template
或者点击 git 插件栏上的小图标唤醒插件界面。
写插件的时候也踩了不少坑,官网文档为了找个 API 也是看这看那的,不过最终解决了问题也是值得的。如果觉得本项目对你有帮助的,别吝啬你手里的✨给 本项目 点个 star✨,您的鼓励就是对作者最大的支持!发现 bug 或者有啥希望改进的点,也欢迎在项目底下提 issue 😘。
社区提了很多好的issue
,也提了不少 PR
,有修复bug
的,也有一些希望加入的功能的,在这次0.0.4版本的更新里都实现和解决了!
GitCommitPlugin.ShowEmoji
: 支持可配置是否需要 Emoji
前缀,默认为true
GitCommitPlugin.ShowEmoji:true
GitCommitPlugin.CustomCommitType
: 支持自定义的Commit Type
前缀,默认为null
GitCommitPlugin.CustomCommitType:[
"customTypeName"
]
GitCommitPlugin.MaxSubjectWords
: 支持修改Subject
的最大字数,默认为20
GitCommitPlugin.MaxSubjectWords:20
1
labulaka521 2020-03-19 23:51:13 +08:00 via Android
棒
|
2
learningman 2020-03-20 00:20:16 +08:00 via Android
试试能不能迁移到 clion
|
3
yeze322 2020-03-20 00:22:18 +08:00
可以!很好用!
|
4
Redjue OP @learningman IDEA 有类似的插件的
|
5
Redjue OP @labulaka521 谢谢🤗
|
7
vincentxue 2020-03-20 08:12:55 +08:00
|
8
Redjue OP @vincentxue 忘了 V2EX 还支持暗黑模式了,Thanks♪(・ω・)ノ
|
9
creanme 2020-03-20 08:37:23 +08:00
你 config 文件夹下面的代码都是 2 格缩进,extension.ts 是 4 格缩进
|
11
YoRolling 2020-03-20 12:25:26 +08:00
花里胡哨的,我们的 commit message 贼多 commit、提交之类的。简直不要太随意
|
14
hantsy 2020-03-20 12:36:51 +08:00
这个不知道是 VSCode 的 Git 提交是能不能使用模板?
|
15
YoRolling 2020-03-20 12:37:14 +08:00
@Redjue 并没有吐槽你的这个 repo 的意思。我自己也有自己的提交格式,从 ng team 的规范里按自己的实际情况做了精简。
这玩意儿还是得靠人呐,有规范有工具都是其次,最主要还是得执行下去。 |
18
hantsy 2020-03-20 12:59:52 +08:00
国内太难执行,5,6 年前我还在参与一个上海创业项目,想按最简单的 Github Flow 提交代码都做不下去。大家习惯把时间花 SVN 那样天天解决冲突。
|
21
yeze322 2020-03-20 14:05:35 +08:00
国内企业为人员素质问题绝对推行不下去,爱咋搞咋搞吧,没救的。
大部分项目确实不需要这种 commit log 级别的约束,很可能自己的模块都没划分清楚,项目没几个月就凉了。 然而每一个规范的工程团队以及 open source world,都需要对 commit history 有一定的约束。这是对自己负责,也是对后续维护者、阅读者的负责。可惜大多数人还没有无私 /负责到这种程度。 |
22
libery 2020-03-20 14:09:42 +08:00
直接用 gith hook 做强制检查
|
24
Rwing 2020-03-20 14:14:17 +08:00
|
27
cireric 2020-03-23 20:57:23 +08:00
@Redjue 阮一峰大神曾经写过一篇 Commit message 的 blog 可以参考一下,他有推荐一个撰写 commit message 工具
https://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html 当然,自己造最适合的轮子,有 DIY 精神是非常好的事。。 |
28
Redjue OP @cireric 哈哈 谢谢提醒!这个我倒真没想着去找一下阮一峰的 blog,早看到可能对我来说更有帮助,他讲解的很详细,很具有参考价值!
|