git commit的规范

本文阐述了Git Commit信息的规范重要性,介绍了基本模板、字段解析及如何编写清晰的Commit信息,强调了规范性对团队协作与代码管理的价值。

https://www.yuque.com/fe9/basic/nruxq8#6c228def

 

 

制定一个 git commit 信息的提交规范是开发团队工作流必不可少的环节。试想一下,如果查看主分支上的历史库也就是你查看 git log 的时候,打印出来的信息杂乱无章的话,如果代码遇到问题,可能需要很大的精力与成本来查找到导致问题的代码提交,所以团队需要制定规范来引导成员编写规范的 commit 信息。

接下来的 commit 信息规范参考了 angularjs 团队的开发者指引与笔者的工作团队进行总结,读者如有需要可以以此为基础增加或修改成为自己团队的 commit 规范的一部分。

提交信息基本模板

如果 commit 信息都按照一定的模式进行提交,那么我们就会很容易找到自己想要的信息,模板参考如下:

 

<type>(<scope>): <subject> [<ISSUE_ID>]

<body>

<footer>

 

commit 信息包括三个字段: type (必需), scope(可选) 和 subject(必需)。

  1. type。type 是用于说明该 commit 的类型的,一般我们会规定 type 的类型如下:
  • feat: 新功能(feature)
  • fix: 修复 bug
  • docs: 文档(documents)
  • style: 代码格式(不影响代码运行的格式变动,注意不是指 CSS 的修改)
  • refactor: 重构(既不是新增功能,也不是修改 bug 的代码变动)
  • test: 提交测试代码(单元测试,集成测试等)
  • chore: 构建或辅助工具的变动
  • misc: 一些未归类或不知道将它归类到什么方面的提交
  1. scope。scope 说明 commit 影响的范围,比如数据层,控制层,视图层等等,这个需要视具体场景与项目的不同而灵活变动
  2. subject。subject 是对于该 commit 目的的简短描述
  • 使用第一人称现在时的动词开头,比如 modify 而不是 modified 或 modifies
  • 首字母小写,并且结尾不加句号
  1. ISSUEE_ID。这个与公司的需求管理与项目管理有关,假设你的项目放在 github 上,你的需求或者 bug 修复可能会有对应的 issues 记录,你可以加到你的 commit 信息中如 issue-37938634

 

body 其实就是 subject 的详细说明,而 footer 中你可以填写相关的需求管理 issues id。

在企业中一般会对团队中要做的事情与需求开发使用一个软件进行管理,好处是可以让代码与对应的用户故事(story)或者需求,bug 进行关联,便于管理,类似的方案有 github,gitlab,tracker,JIRA 等等,比如在网易某些团队中就会使用 JIRA 加上 gitlab 来进行团队管理。

commit message 的规范性是很重要的,对于自己养成良好的编程习惯很有帮助,但是没有必要强制完全遵循开源团队的规范,毕竟每个团队与个人的情况不同,博采众长即可,当然你也可以使用像 commitlint 这样的校验工具从工具层面上来强制执行某些规范,这里就不展开讲了,有兴趣的读者可以查阅相关资料并使用到自己团队的实践中。

转载于:https://www.cnblogs.com/chucklu/p/10400519.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值