成为大神,从规范 Commit Message 做起

在日常的开发工作中,我们团队所有的项目都是使用Git来做版本管理的。Git是个很强大的版本管理工具,像全球最大的同性交友网站Github就是基于Git的。

如此 强大的版本管理工具,在实际的应用中,我们很多的时候却没有发挥它的作用,而且还把它用的超级烂,其中最明显的就是Commit message。

实际项目提交记录

在项目中存在大量提交,每一次提交都意味着系统的一次更新,但是从提交信息中我们很难分辨出某一次提交具体解决了什么问题,增加了什么功能。提交内容如下:

打开一次提交记录,我们还会发现在一次提交中,融合了太多的功能:

  • 修复了一个bug

  • 优化了代码结构

  • 增加了一个新功能

  • 等等

提交的内容太多的复杂,混乱。当我们需要版本回滚的时候,无法很好的将代码恢复到某一个功能点上。

优秀开源项目提交记录

接下来我们在看看优秀的开源项目是如何提交记录的。

上面的提交记录是我从Angular项目中截取的,我们可以清晰的看到每一次提交都做了什么,commit message都使用了简明的文字描述了提交内容。

打开提交记录,我们会发现提交内容和message非常匹配,一次提交绝不会包含和本次提交目的无关的内容。这样提交代码,可以很方便的进行代码Review。

Commit Message规范

参考优秀的开源项目,我们可以很好的总结出一套message的格式规范:

总结

参考并使用总结出来的这套规范,可以使我们版本管理更清晰,使我们的项目走向优秀更进一步。