结合企业实践来规范你的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 技巧 ~

相关文章
|
3月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何将个人账号下的Git仓库转移到企业账号下
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
开发工具 git
GIT:如何合并已commit的信息并进行push操作
通过上述步骤,您可以有效地合并已提交的信息,并保持项目的提交历史整洁。记得在执行这些操作之前备份当前工作状态,以防万一。这样的做法不仅有助于项目维护,也能提升团队协作的效率。
147 4
|
2月前
|
开发工具 git
GIT:如何合并已commit的信息并进行push操作
通过上述步骤,您可以有效地合并已提交的信息,并保持项目的提交历史整洁。记得在执行这些操作之前备份当前工作状态,以防万一。这样的做法不仅有助于项目维护,也能提升团队协作的效率。
241 3
|
3月前
|
消息中间件 小程序 Java
【规范】看看人家Git提交描述,那叫一个规矩
本文通过IDEA中的Git描述规范插件【git commit message helper】,介绍了Git提交描述的规范流程,强调了团队开发中统一标准的重要性,并通过实例展示了规范的提交记录如何提高代码管理和维护效率。最后,文章提供了几个实用的Git提交描述案例,帮助读者更好地理解和应用这些规范。
67 0
【规范】看看人家Git提交描述,那叫一个规矩
|
3月前
|
敏捷开发 小程序 持续交付
【规范】Git分支管理,看看我司是咋整的
本文介绍了Git分支管理规范的重要性及其在企业中的应用。通过规范化的分支管理,可加速团队协作、确保代码质量、维护主分支稳定,并支持敏捷开发。文中详细描述了主分支(如master、develop)和辅助分支(如feature、hotfix)的作用,并提供了实际开发流程示例,包括开发前、开发中、提测、预生产和部署上线等阶段的操作方法。旨在帮助团队提高效率和代码质量。
167 0
【规范】Git分支管理,看看我司是咋整的
|
3月前
|
开发工具 git
Git——commit的提交规范
Git——commit的提交规范
102 4
|
3月前
|
测试技术 持续交付 开发工具
[译] 为何每次 Git Commit 要尽可能小?
[译] 为何每次 Git Commit 要尽可能小?
|
3月前
|
Java 开发工具 Android开发
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
本文介绍了在Android Studio项目中通过修改`build.gradle`脚本来自动获取并添加Git的commit ID、branch名称和用户信息到BuildConfig类中,从而实现在编译时将这些版本信息加入到APK中的方法。
71 0
|
3月前
|
存储 测试技术 开发工具
企业Git 规范的必要性-阿里云开发者社区
既然认同需要一份 Git 规范,那么这个规范需要规范哪些内容,解决哪些问题。
|
3月前
|
监控 程序员 开发工具
如何规范Git提交-参考阿里云开发者社区
这篇文章分享了如何规范Git提交,介绍了commit message的格式规范,并通过webhook监控机制来确保代码提交的规范性,从而提高研发效率和代码维护质量。