结合企业实践来规范你的Git commit(含插件使用指南)

简介: 结合企业实践来规范你的Git commit(含插件使用指南)

🏆 文章目标:了解通用的Git commit规范,并在企业的团队内部进行实践。

🍀 如何规范你的Git commit(理论结合企业的实践)

✅ 创作者:Jay…

🎉 个人主页:Jay的个人主页

🍁 展望:若本篇讲解内容帮助到您,请帮忙点个赞吧,再点点您的小手关注下,您的支持是我继续写作的最大动力,谢谢。🙏

背景

commit message 目的是为了清晰明了的体现本次提交的内容,以及提交的目的。

但在日常开发中,大家的commit message千奇百怪,中英文混合使用,或者干脆就敷衍了事。这就导致后续代码维护成本特别大,追溯时,连开发者都不知道自己改了什么。

基于以上这些问题,我们希望通过某种方式来监控用户的git commit message,让规范更好的服务于质量,提高大家的研发效率。

对比

如下是我根据部门内部的情况,再结合通用的提交规范进行微调后实践的情况。当然,没有最好,只有最合适,大家可以自行发挥!详细的内部管理文档,可以联系我免费提供!

我们看看规范commit message之前大家都是怎么写的:

  • 修改了Bug
  • 提交代码
  • dev
  • 合并代码
  • Delete compiler.xml 以及调整部分注释

规范提交信息后:

如下的提交记录中的scope是按照产品的实际情况调整的,与通用规范存在一些区分:

  • fix(菜单): #7201, 子级菜单展开的样式问题。
  • fix(权限管理): #6312,调整权限管理中所有权限顺序按时间降序排序。
  • perf(权限管理): 优化权限管理中的缓存数据,只获取配置数据的关键信息,而不是所有信息。
  • feature(国际化): 增加国际化功能

规范建设

规范梳理

初期我们在互联网上搜索了大量有关git commit规范的资料,但只有Angular规范是目前使用最广的写法,比较合理和系统化,并且有配套的工具(IDEA就有插件支持这种写法)。最后综合阿里巴巴高德地图相关部门已有的规范总结出了一套git commit规范。

commit message格式:

<type>(<scope>): <subject>

type(必须)

用于说明git commit的类别,只允许使用下面的标识。

  • feat:新功能(feature)。
  • fix/to:修复bug,可以是QA发现的BUG,也可以是研发自己发现的BUG。
  • fix:产生diff并自动修复此问题。适合于一次提交直接修复问题
  • to:只产生diff不自动修复此问题。适合于多次提交。最终修复问题提交时使用fix
  • docs:文档(documentation)。
  • style:格式(不影响代码运行的变动)。
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)。
  • perf:优化相关,比如提升性能、体验。
  • test:增加测试。
  • chore:构建过程或辅助工具的变动。
  • revert:回滚到上一个版本。
  • merge:代码合并。
  • sync:同步主线或分支的Bug。

scope(可选)

这里是否必须,以及范围是什么内容,可以看实际公司的情况。

scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

例如在Angular,可以是location,browser,compile,compile,rootScope, ngHref,ngClick,ngView等。如果你的修改影响了不止一个scope,你可以使用*代替。

subject(必须)

subject是commit目的的简短描述,不超过50个字符。

建议使用中文(感觉中国人用中文描述问题能更清楚一些)。

  • 结尾不加句号或其他标点符号。
  • 根据以上规范git commit message将是如下的格式:
fix(DAO):用户查询缺少username属性 
feat(Controller):用户查询接口开发

以上就是我们梳理的git commit规范,那么我们这样规范git commit到底有哪些好处呢?

  • 便于程序员对提交历史进行追溯,了解发生了什么情况。
  • 一旦约束了commit message,意味着我们将慎重的进行每一次提交,不能再一股脑的把各种各样的改动都放在一个git commit里面,这样一来整个代码改动的历史也将更加清晰。
  • 格式化的commit message才可以用于自动化输出Change log。

插件

IDEA插件 - Git Commit Template

安装

1、打开 settings 下的 plugin 里搜索 git commit template 插件:

2、安装完后重启IDEA就可以使用了。

使用

安装后,可以在提交时看到如下图标:

选择需要的提交类型,可参考章节 规范建设

填写完成后的样例:

效果:

VS Code - git-commit-plugin

安装

1、打开 preferences 下的 extensions 里搜索 git commit 插件:

2、点击 Install 后就可以使用了。

使用

1、快捷键找到:Command + Shift + P打开,输入 show git commit template

2、选择提交的类型

3、按照内容进行填写后,点击 Complete

4、案例

关注公众号:熊猫Jay字节之旅,了解更多 AI 技巧 ~

相关文章
|
2月前
|
JSON 开发工具 git
git rebase 合并当前分支的多个commit记录
git rebase 合并当前分支的多个commit记录
|
5天前
|
测试技术 开发工具 git
git 提交规范
git 提交规范
12 2
|
1月前
|
存储 开发工具 git
蓝易云 - git中,add到暂存区,commit且push之后,暂存区域里还有内容吗
所以,当你执行 `git add`,然后是 `git commit`,最后是 `git push`之后,暂存区是空的,除非你又执行了新的 `git add`命令来添加更多的更改。
20 1
|
10天前
|
Ubuntu 开发工具 git
git 超实用教程【人人必会!】(含大厂的 git 操作规范)
git 超实用教程【人人必会!】(含大厂的 git 操作规范)
15 0
|
17天前
|
JavaScript 测试技术 持续交付
Git提交规范详解
Git提交规范详解
22 0
|
27天前
|
开发工具 git
一文教你如何设置git commit模板规范
一文教你如何设置git commit模板规范
|
1月前
|
测试技术 持续交付 API
Git 代码提交注释管理规范
Git 代码提交注释管理规范
48 0
|
2月前
|
开发工具 git 开发者
掌握常见Git操作:技巧与实践
掌握常见Git操作:技巧与实践
|
Java BI 开发工具
关于Git提交规范
自古至今,无规矩不成方圆。 Git提交也有其规范,业内做的比较好的,比较具有参考价值的就是Angular的提交。 Angular提交规范: (): #header // 空一行 // 空一行 格式讲解 Header Header部分只有一行,包括三个字段:type(必需)、scope(可选)和subject(必需)。
5457 0
|
25天前
|
存储 网络安全 开发工具
【GIT】Git常用命令学习
【GIT】Git常用命令学习
31 1