结合企业实践来规范你的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分支批量清理利器:自定义命令行插件实战
Git分支批量清理利器:自定义命令行插件实战
49 0
|
2月前
|
程序员 开发工具 git
【程序员英语 代码提交】C++工程师的代码提交艺术:git commit 时 精确表达与最佳实践
【程序员英语 代码提交】C++工程师的代码提交艺术:git commit 时 精确表达与最佳实践
92 1
|
2月前
|
弹性计算 开发工具 git
如何创建符合计算巢规范的Git仓库
为了简化软件云化部署,阿里云计算巢提供了一站式平台,开发者仅需将自己的git仓库配置为符合计算巢服务规范,即可实现自动化部署到云端。官方提供了多个模板,涵盖不同架构和部署物类型,便于开发者从计算巢官方仓库fork并定制。重要文件包含config.yaml和,用于配置服务构建参数。通过计算巢控制台,即可完成服务的创建和发布,实现软件的云上部署。
|
3月前
|
前端开发 算法 开发工具
如何将git的多个commit合成一个
如何将git的多个commit合成一个
70 0
|
4月前
|
前端开发 测试技术 持续交付
【开发规范】Git Commit 规范
【1月更文挑战第26天】【开发规范】Git Commit 规范
|
4月前
|
数据可视化 测试技术 持续交付
Git Flow规范在工作中的使用流程
Git Flow规范在工作中的使用流程
39 0
|
4月前
|
开发工具 git Python
Python 的软件开发实践:如何使用 Git 在团队中协同开发 Python 项目?
Python 的软件开发实践:如何使用 Git 在团队中协同开发 Python 项目?
|
4月前
|
JavaScript 测试技术 持续交付
2020你应该知道的git commit规范
2020你应该知道的git commit规范
90 0
|
22天前
|
缓存 数据可视化 网络安全
Git命令大全
Git命令大全
54 1
|
26天前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
43 0
Git教程:深入了解删除分支的命令

相关实验场景

更多