之前就开始用git来对自己的项目进行一些管理工作,过后去阅读自己的log日志其实会发现不那么清晰,几周前自己提交的每个版本做了哪些工作都不能准确判断,这个让我很是尴尬。自己也去搜索了一些关于git提交的时候的message的写法建议,遂整理出了这样一篇文章。
为什么要关注提交信息
- 加快 Reviewing Code 的过程
- 帮助我们写好 release note
- 很久以后帮助自己快速想起某个分支,tag或者commit增加了什么功能,改变了那些代码
- 让其他的开发者在运行 git blame 时方便快捷找到问题
- 一个好的提交信息,会帮助我们提高项目的整体质量
七个很棒的git提交信息规则
- 用一个空行隔开标题和正文
- 限制标题字数在50个字符内
- 用大写字母写标题行
- 不要用句号结束标题行
- 在标题行使用祈使语气
- 正文在72个字符处换行
- 使用正文解释是什么和为什么,而不是如何做
一个推荐的 commit message 应该是这样的:1
2
3
4
5
6
7
8
9
10Redirect user to the requested page after login
https://trello.com/path/to/relevant/card
Users were being redirected to the home page after login, which is less
useful than redirecting to the page they had originally requested before
being redirected to the login form.
* Store requested path in a session variable
* Redirect to the stored location after successfully logging in the user
注释要回答如下的信息
为什么这次修改是必要的?
要告诉 Reviewers ,你的提交包含什么改变。让他们更容易审核代码和忽略无关的改变。如何解决的问题?
这块并不是说技术细节。这些变化可能影响那些地方?
这个是最需要回答的问题。并且在一次提交中尽量只做1、2个变化。