Git 代码提交规范
为什么要规范提交代码
无规矩不成方圆,编程也一样,提交代码也一样。
Git是现在市面上最流行的版本控制工具,团队协作中,大家都张扬个性,那么代码将会是一团糟,好好的项目就被糟践了。不管是开发还是日后维护,都将是灾难。书
写良好的commit message能大大提高代码维护的效率。但是在日常开发中由于缺少对于commit message的约束,导致填写内容随意、质量参差不齐,可读性低亦难以维护。
在项目中引入commit message规范已是迫在眉睫。
用什么规范
Angular JS 规范
格式如下
1 |
|
为了兼容多种工具方便阅读git message,禁止每一行超过100个字符!
一条commit message包含了header、body和footer,它们之间用空行分隔。
消息头的格式指定为提交类型(type
)、作用域(scope
,可选)和主题(subject
)
type 提交类型
build
:对构建系统或者外部依赖项进行了修改。ci
:对CI配置文件或脚本进行了修改。docs
:对文档进行了修改。feat
:增加新的特征。fix
:修复bug
。pref
:提高性能的代码更改。refactor
:既不是修复bug
也不是添加特征的代码重构。style
:不影响代码含义的修改,比如空格、格式化、缺失的分号等。test
:增加确实的测试或者矫正已存在的测试。
作用域
scope 是表明改动的区域,用于说明 commit 影响的范围,可以按项目模块或者功能,框架分层(数据层、控制层、视图层)。
主题
scope 是commit 目的的简短描述。
正文
body 部分是对本次 commit 的详细描述,可以分成多行。
消息尾
footer 部分主要用于两种情况。
- 不兼容变动
- 关闭 Issue
如果当前代码与上一个版本不兼容,则 footer 部分以BREAKING CHANGE
开头,后面是对变动的描述、以及变动理由和迁移方法。
如果当前 commit 针对某个issue,那么可以在 footer 部分关闭这个 issue 。
回滚
如果当前提交回滚了上一次的提交,它的头部应该以revert:
开头,紧接着是被回滚的提交记录的头部。body应该描述成This reverts commit <hash>.
,hash是被回滚的提交记录的SHA值。
1 |
|
按规范提交代码的好处
- 提供更多的历史信息,方便快速浏览。
- 可以过滤某些commit(比如文档改动),便于快速查找信息。
- 可以直接从commit生成Change log。
Git 代码提交规范
http://www.wangxiaohuan.com/2017/03/07/2017-03-07/