本文转载自微信公众号「小姐姐味道」,作者小姐姐养的狗02号。转载本文请联系小姐姐味道公众号。
据说,80%的程序员,不会写commit记录。这个比例在无规范的小公司,比例会更高一些,可以看到这是一个多么普遍的问题。
程序员应该写出简洁明了的commit log,否则对别人和自己来说就是一种困扰。最近代码review多了,总有一股想笑的感觉。就像下图这满屏的ok,永远无法从中得知提交人的意图。
commit log将如何提交?都有哪些约定?其实是有答案的。对于Java程序员,尤其幸福。IDEA有一个非常好用的插件,可以用来辅助你进行代码提交,辅助你进行团队规范建设。接下来,我将带大家看一看它的使用方法。
安装插件
在IDEA的Marketplace中,搜索Git Commit Template,就可以安装这个插件。插件很小,很快就能下载下来。
正常从IDEA提交代码的时候。我们发现多了一个小按钮。
点击之后,将弹出一个窗口。让你去设计提交模板。
这么多信息,真的让人头晕。怪不得程序员们都不喜欢写提交记录。
其实,在插件的安装界面,就已经说明了这个提交记录的格式。
( ):
从描述中,可以肯容易的看到一个提交记录中,应该包含哪些东西。其中类型最多的,当然是提交类型。
提交类型Type
我们按照插件显示的顺序来说明一下。
除了这些预设的,团队还可以按照自己的需求,增加新的type。比如专门处理线上工单,就可以创造一个叫做ticket的类型。
范围scope
scope是范围的意思,主要指的是代码的影响面。scope并没有要求强制,但团队可以按照自己的理解进行设计。通常由技术维度和业务维度两种划分方式。比如按照技术分为:controller、dto、service、dao等。但因为一个功能提交,会涉及到多个scope(都不喜欢非常细粒度的提交),所以按照技术维度分的情况比较少。
按照业务模块进行划分,也是比较不错的选择。比如分为user、order等划分,可以很容易看出是影响用户模块还是order模块。
如果你实在不知道怎么填,那就留空。
其他
主题subject
这个体现的是总结概括能力,没得跑。一句话能够说明主要的提交是什么。subject也是众多git管理工具默认显示的一行。如果你写的标准,那么提交记录看起来就很漂亮很规整。
正文Body
主要填写详细的改动记录。我一般习惯列上1234,但如果你的subject写的非常好,正文可以直接弱化。但如果时间充裕,填写上重要记录的前因后果,需求背景,是一个好的习惯。
尾部Footer
添加一些额外的hook,比如提交记录之后,自动关闭jira的工单(JIRA和gitlab等是可以联动的)。在比如触发一些文档编译或者其他动作。
这部分自定义行也是比较强的。
Skip CI
最后还有一个skip CI选项。一般的ci工具,都可以设置提交代码时自动触发编译。但你可以告诉它忽略本次提交。这可能是因为你提前预判到了一些构建风险,或者就是不想编译。
End
最后,看一个典型的提交记录,有了工具的支持,我们的瞎扯也看得正经起来。
- fix(order): 修复了1分钱买汽车的bug
- 商务反馈可以1分钱买汽车,目前已经卖出了100w量
- Closes #2455
- [skip ci]
其实,提交的核心是type和subject。一个用来表示它的提交类型,一个用来对提交进行概括性总结,写好了这两点,就能轻轻松松秒杀80%的程序员了。
有了这些基础,从commit log,自动生成change log,就变的非常的容易。配合持续集成平台,自动生成发版的变更记录,也是可行的,这也是为什么团队管理,都在一直强调git的提交规范。因为它确实非常有用。
作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,进一步交流。
网页名称:80%的程序员,不会写Commit记录
网站链接:http://www.shufengxianlan.com/qtweb/news32/419632.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联