博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git工程实践(一)巧用commit message
阅读量:6654 次
发布时间:2019-06-25

本文共 1290 字,大约阅读时间需要 4 分钟。

摘要: 大家都知道所有的版本控制系统比如svn,git等设计的核心价值之一就是为了让代码变更有迹可循,而commit mesage的价值在于让有迹可循的代码对人类更加友好,通常一个恰如其分的commit message表达的信息往往先于代码。
背景
大家都知道所有的版本控制系统比如svn,git等设计的核心价值之一就是为了让代码变更有迹可循,而commit mesage的价值在于让有迹可循的代码对人类更加友好,通常一个恰如其分的commit message表达的信息往往先于代码。
而现实的工程实践中,尤其是大型分布式协作的团队,因开发成员背景、习惯、经验多差异性,commit message的风格参差不齐。
那么有没有优雅而简单方式将commit message按照工程标准来落地呢?
下面分享一个git commit message的实践,其核心是通过git commit template标准化comments,希望可以抛砖引玉。
配置commit message template
通过配置相同的git commit template & markdown syntax 来标准化git message。步骤如下:
  1. 进入~/ 目录,新增__.gitmessage, 内容如下:__
brief introduction. #brief introdction 必填,概要描述变更内容。 #change item list 选填,针对变更不同模块/业务进行分条描述,使用markdown语法。 #demo #add xxx open api. #- add xxx api. #- add xxx api. #- add xxx api.
2.编辑.gitconfig文件,新增.gitmessage模版配置。
[commit]
template = ~/.gitmessage
后续在提交代码时候(使用git commit没有指定-m参数)git message将会自动按照模版格式生成。效果如下:
实践建议
  • 正式的commit尽量不要使用 git commit -m指定message信息,避免生成的git log可读性差。
  • commit message 格式优先使用markdown格式,生成的格式将更优雅,通过git log查看可读性更佳。
  • 较大feature发布,git message尽可能丰富,通过概要+变更列表的格式表达,如上图。
  • commit mesaage尽量使用英文。
一些思考
  • 自动化视角,通过git commit template 自动生成comments模版的方式,可以在一定程度减少漏填AoneID的情况,同时可以提升commit message质量,如果要实现严格管控可以增加githook在checkin之前增加校验,或者接入持续集成在静态检测阶段校验git commit log的有效性。
  • 工程视角,git comment, code comment即代码,应该以标准优雅的方式在团队传承。
阅读更多干货好文,请关注扫描以下二维码:

转载地址:http://funto.baihongyu.com/

你可能感兴趣的文章
selenium模块 当然可以用来测试啦
查看>>
论文笔记:Ten years of pedestrian detection, what have we learned?
查看>>
PIE SDK地图图层控制
查看>>
WEB应用服务架构的演变(扫盲)
查看>>
编写一个函数,计算三个数字的大小,按从小到大的顺序输出。
查看>>
学习《SQL Server 2005管理员大全》时遇到的困难
查看>>
CCIE路由实验(8) -- QoS
查看>>
CPU利用率与Load Average的区别?
查看>>
CF600E:Lomsat gelral(线段树合并)
查看>>
Spring中的p标签(转)
查看>>
如何延长WP7软件第一屏splashimage.jpg的显示时间
查看>>
秘诀!支付宝支撑双十一4200万次/秒的数据库请求峰值的技术实现
查看>>
存储过程: 存储过程(stored procedure)有时也称为sproc。存储过程存储于数据库中而不是在单独的文件中,有输入参数、输出参数以及返回值等。...
查看>>
java中方法复写的作用进一步理解
查看>>
50个常用的Linux命令(三)awk
查看>>
mysql异常com.mysql.jdbc.PacketTooBigException
查看>>
selenium无界面chromedriver
查看>>
Hibernate入门案例及增删改查
查看>>
12_敏感信息泄露
查看>>
Ajax:数据验证
查看>>