译   原文:https://dev.to/chrissiemhrk/git-commit-message-5e21

提交信息是对提交之前添加和更改的文件所做的更改的简短描述。

良好的提交信息不仅对你所参与的项目上其它的团队成员很重要,对你自己而言也很重要,你需要跟踪所有提交,并确切知道在提交期间发生的变动。

即使你开发的是个人项目,我也建议你开始养成编写良好的提交信息的习惯。

这是我惯用的格式(可以随着你的个人习惯和公司来改变):

type: subject

body (可选)

footer (可选)

1. Type

  • feat :新功能
  • fix : bug修复
  • docs :文档变更
  • style :与样式相关的所有变动
  • refactor :既不是bug修复也未添加功能的代码更改
  • test :与测试有关所有变动
  • chore :改变了构建任务,程序包管理器配置等

2. Subject

它应该包含对所做更改的简短描述。长度不能超过50个字符,应以大写字母开头,命令式的语法。“Add”,而不是 “Added” 或 “Adds”。

3. Body

正文用于说明你进行了哪些更改以及进行更改的原因。并非所有提交都很复杂,需要一个正文,尤其是如果你仅是开发一个个人的项目,因此正文是可选的。

4. Footer

页脚也是可选的,主要在你使用issue追踪引用issue ID时使用。

这是Udacity学生git 提交信息的例子Udacity Git Commit Message Style Guide

feat: 少于50个字符的更改概括。

如有必要,提供更详细的说明文字,约72字符左右。在某些情况下,第一行被视为提交的主题,其余文本作为正文。
将摘要与正文分开的空行至关重要(除非没有正文);各种工具,例如 log,shortlog和rebase,如果同时运行两者,可能会造成混乱。

解释该提交解决的问题。注意说明为什么做这个更改(代码作了注释)。另一方面,是否会导致负面的作用或其他不直观的后果?这也是需要说明的地方。

空白行之后是其它段落。

- 项目要点也可以加进来

- 通常在项目符号前使用连字符或星号,用一个空格隔开,中间有空白行,但是约定在这里变化


如果你使用issue追踪,可以在footer中写上对issue的关联,就像这样:

Resolves: #123See

also: #456, #789

这是一个实际的例子:

docs: Fix typo in README.md

正文之外同样有一些有意思的评论(歪果仁会玩啊):


简短明了,感谢你的这篇文章!

我倾向于使用表情符号作为类型——一看就显示了提交的类型,例如:

:heavy_plus_sign: 添加文件或实现功能时

: hammer: 修复bug或处理issue时

:green_heart: 在改进代码或注释时

:zap: 在提高性能时

:scroll: 更新文档或readme时

:key: 在处理安全相关时

最新文章

  1. ichart.js绘制虚线 ,平均分虚线
  2. HDU 5384 字典树、AC自动机
  3. 我的android学习经历35
  4. 锋利的js之妈妈再也不用担心我找错钱了
  5. MySQL优化之COUNT(*)效率
  6. 让IE系列浏览器支持HTML5(share)
  7. 将CMD内的显示内容输出到txt文件
  8. python 零散记录(一) input与raw_input 数学相关函数 转换字符串的方法
  9. H3C SecPath 防火墙端口回流
  10. over-float清除浮动++隐藏溢出
  11. 本地存储和cookies之间的区别
  12. C#脏字过滤算法
  13. 数据库备份和还原(固定IP版)
  14. pta编程总结2
  15. THUSC2017 Day1题解
  16. redis非关系型数据库的基本语法
  17. 基本 TCP 的回射服务器
  18. Nestjs 接口验证
  19. webstorm安装配置
  20. poj2479 Maximum sum

热门文章

  1. Android:沉浸式状态栏(一)工具类
  2. jQuery与javascript
  3. 使用@ControllerAdvice处理异常
  4. Python List insert()方法
  5. Skill 脚本演示 ycCommonCenterMos.skl
  6. C/C++编程笔记:C语言入门知识点(一),请收藏C语言最全笔记!
  7. Pintech品致全新多功能MDO 704E系列示波器全新推出
  8. OpenVINO学习系列1
  9. jar包冲突解决
  10. OWL本体语言和Protege本体编辑器