Git工程实践(一)巧用commit message

摘要: 你们都知道全部的版本控制系统好比svn,git等设计的核心价值之一就是为了让代码变动有迹可循,而commit mesage的价值在于让有迹可循的代码对人类更加友好,一般一个恰如其分的commit message表达的信息每每先于代码。git

 

背景api

你们都知道全部的版本控制系统好比svn,git等设计的核心价值之一就是为了让代码变动有迹可循,而commit mesage的价值在于让有迹可循的代码对人类更加友好,一般一个恰如其分的commit message表达的信息每每先于代码。markdown

而现实的工程实践中,尤为是大型分布式协做的团队,因开发成员背景、习惯、经验多差别性,commit message的风格良莠不齐。分布式

那么有没有优雅而简单方式将commit message按照工程标准来落地呢?svn

下面分享一个git commit message的实践,其核心是经过git commit template标准化comments,但愿能够抛砖引玉。设计

配置commit message template版本控制

经过配置相同的git commit template & markdown syntax 来标准化git message。步骤以下:code

  1. 进入~/ 目录,新增__.gitmessage, 内容以下:__

brief introduction. #brief introdction 必填,概要描述变动内容。 #change item list 选填,针对变动不一样模块/业务进行分条描述,使用markdown语法。 #demo #add xxx open api. #- add xxx api. #- add xxx api. #- add xxx api.blog

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即代码,应该以标准优雅的方式在团队传承。

 

原文连接

阅读更多干货好文,请关注扫描如下二维码:

相关文章
相关标签/搜索