Git-commit-plugin For Vscode 一款自动生成规范 git 提交信息的插件

2020-03-19 21:47:12 +08:00
 Redjue

初衷

在公司由于大家随意提交 git-commit 的信息,导致提交的风格千奇百怪,写的信息不明确,不知道这次提交具体是修复 bug 呢?还是增加新功能,还是单纯改了一些配置文件,亦或是重构了一些不好的代码。只能靠大家自己去猜测,就算是自己提交的信息,也可能因为时间长导致自己也不清楚具体这次提交是为了干啥,只能去提交记录里翻代码,长此以往,不利于产品的迭代,以及对于 bug 的定位。

为什么写这个插件

基于这个原因,我们开始寻找比较符合规范的提交格式,Angular 团队的 Angular Team Commit Specification 进入了我们的视野,格式如下:

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

清晰的信息展现,让我们觉得这个就是我们正在寻找的!为此我们开始搜IDE 有没有对应的插件可以使用,幸运的是后端 Java 团队使用的 IDEA 直接就有现成的插件可以使用,苦逼的我们前端团队都是统一用的 Vscode ,看到了几款插件,但是都不符合我们的要求,为了前端团队不拖后腿,于是乎就想着自己写一款符合要求的插件来供团队使用。

如何使用

  1. 首先我们需要去 Vscode 插件市场搜索git-commit-plugin 并且进行安装。
  2. 安装完之后可以使用组合键 Command + Shift + P 呼出 指令行,并键入指令 show git commit template 或者点击 git 插件栏上的小图标唤醒插件界面。
  3. 根据自己当前提交所要表达的意义,选择对应的 type 类型去编写 commit 信息

结语

写插件的时候也踩了不少坑,官网文档为了找个 API 也是看这看那的,不过最终解决了问题也是值得的。如果觉得本项目对你有帮助的,别吝啬你手里的✨给 本项目 点个 star✨,您的鼓励就是对作者最大的支持!发现 bug 或者有啥希望改进的点,也欢迎在项目底下提 issue 😘。

6041 次点击
所在节点    Visual Studio Code
28 条回复
yeze322
2020-03-20 14:05:35 +08:00
国内企业为人员素质问题绝对推行不下去,爱咋搞咋搞吧,没救的。
大部分项目确实不需要这种 commit log 级别的约束,很可能自己的模块都没划分清楚,项目没几个月就凉了。
然而每一个规范的工程团队以及 open source world,都需要对 commit history 有一定的约束。这是对自己负责,也是对后续维护者、阅读者的负责。可惜大多数人还没有无私 /负责到这种程度。
libery
2020-03-20 14:09:42 +08:00
直接用 gith hook 做强制检查
Redjue
2020-03-20 14:12:55 +08:00
@yeze322 嗯,约束不了别人就约束自己,至少让自己的代码尽量符合规范
Rwing
2020-03-20 14:14:17 +08:00
szzhiyang
2020-03-20 14:14:24 +08:00
@Redjue 建议加上「提交前格式化所有代码」的功能。
Redjue
2020-03-20 15:47:28 +08:00
@szzhiyang 代码格式的规范,每个团队都不太一样,还是各自按照 eslint 来配置吧
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 精神是非常好的事。。
Redjue
2020-03-23 22:22:05 +08:00
@cireric 哈哈 谢谢提醒!这个我倒真没想着去找一下阮一峰的 blog,早看到可能对我来说更有帮助,他讲解的很详细,很具有参考价值!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/654391

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX