搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > JavaScript与编程艺术 > Git 提交信息规范

Git 提交信息规范

JavaScript与编程艺术 2018-06-29

当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放

题图:by kacozi from Instagram

为什么要规范?

  1. 简洁一致的日志信息有利于提高代码 review 的效率

  2. 便于理解和查看代码修改历史记录,从而帮助提高代码的可维护性以及项目的长期可维护性。

  3. 配合工具可自动生产 changlog

Linux Kernelgit 以及 angular 都是遵从了良好提交日志信息规范的典型案例。

注意本文仅涉及主题信息的提交规范。

格式

格式 type(scope):subject

type 说明此次变更的类型,其值可为:

  • feat:新功能

  • fix:缺陷修复(bug fix)

  • docs:文档修改

  • style:格式修改(例如缺少分号,生产代码没有发生变化)

  • refactor:重构生产代码(例如:变量重命名)

  • test:添加缺少的测试,重构测试,生产代码没有发生变化

  • chore:例如更新 grunt 任务等修改,生产代码没有发生变化

scope 用于说明此次变更影响的范围或归属的模块

subject 简短描述此次变更的目的,其风格为:

  • 不超过 50 个字符

  • 第一个字母小写,结尾没有标点

  • 以动词开头,使用祈使句,第一人称现在时态,比如 change,而不是 changed 或 changes

  • 内容为:为什么要做这次变更,加入了什么差异

范例

  1. git commit -am "feat(下拉提示):完成输入展示下拉提示功能"

  2. git commit -am "fix(下拉提示):修复输入时报 cannot read property of undefined 错"

  3. git commit -am "style(下拉提示):四个空格改为两个"

总结

程序员的世界一切皆有规范,代码规范、changelog 规范,我们要保证写下的每一行代码和代码元数据都有规可循。因为这些规范是前辈们在起初混乱不堪的开发过程中披荆斩棘、筚路蓝缕才逐渐积累的经验和教训。遵循规范是程序员的职业操守。就如最近身处沸沸扬扬“阴阳合同”旋涡中心的崔永元替陈道明避嫌,说他是“一个爱惜自己羽毛的人”,希望我们程序员也能做到时刻“爱惜羽毛”。

最后说下“原子提交”。完成一个小点,不一定得是一个特性,就应当提交 ,这样合作者就知道你的进度。这叫“原子提交”,好处是方便分块 review,而且以后想回滚某个提交很容易。否则假如你提交一大片内容,想回滚(放弃)其中一个点,是很难做到的。

参考

  1. Git Commit 信息规范 https://www.atatech.org/articles/61665

  2. karma git commit msg conventions https://karma-runner.github.io/1.0/dev/git-commit-msg.html

  3. Commit message 和 Change log 编写指南 http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《Git 提交信息规范》的版权归原作者「JavaScript与编程艺术」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注JavaScript与编程艺术微信公众号

JavaScript与编程艺术微信公众号:gh_05cb55fc7ff5

JavaScript与编程艺术

手机扫描上方二维码即可关注JavaScript与编程艺术微信公众号

JavaScript与编程艺术最新文章

精品公众号随机推荐

下一篇 >>

图解 Java 多线程