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

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

背景

大家都知道所有的版本控制系统比如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.
  1. 编辑.gitconfig文件,新增.gitmessage模版配置。

[commit]

template = ~/.gitmessage

后续在提交代码时候(使用git commit没有指定-m参数)git message将会自动按照模版格式生成。效果如下:

image.png | left | 747x372

实践建议

  • 正式的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://gyovx.baihongyu.com/

你可能感兴趣的文章
浏览器自动化操作标准--WebDriver
查看>>
Ubuntu安装Samba文件共享服务器(NAS)
查看>>
js中各种位置
查看>>
11 个 Nginx 参数性能优化工作
查看>>
Fish Shell 使用笔记
查看>>
Vim的新一代补全插件:coc.nvim
查看>>
PHP-FPM 与 Nginx 的通信机制总结
查看>>
Golang并发模型:合理退出并发协程
查看>>
中级工程师之路
查看>>
《设计模式》3.结构型模式
查看>>
复习Javascript专题(一):基本概念部分
查看>>
实践App内存优化:如何有序地做内存分析与优化
查看>>
JS专题之节流函数
查看>>
962-最大宽度坡
查看>>
Array 的一些常用 API
查看>>
Javascript基础之-Promise
查看>>
8支团队正在努力构建下一代Ethereum
查看>>
程序人生:织梦dedecms后台/会员验证码关闭
查看>>
【Redis源码分析】Redis命令处理生命周期
查看>>
springboot ElasticSearch 简单的全文检索高亮
查看>>