Git 提交规范
Git 提交格式
目前市面上认可度较高的是 Angular 规范,使用此规范来对 git commit message 进行限制。
每次提交,commit message 都包含三个部分:header、body、footer。用空行隔开。
<type>(<scope>): <subject>
空一行
<Body>
空一行
<Footer>
其中 header是必须的, body 和 footer 可以省略
不管是哪一个部分,任何一行都不得超过72个字符。这是为了避免自动换行影响美观。
Header
Header部分只有一行,包括三个字段:type(必需)、scope(可选)和subject(必需)。
type
type用于说明 commit 的类别,只允许使用下面标识。
scope
非必填,scope用于说明 commit 影响的范围,建议填写影响的功能模块。
subject
必填, commit 目的的简短描述,英文建议不超过50个字符,中文建议不超过24个字
● 建议使用中文
● 结尾不加句号或其他标点符号
Body
Body 部分是对本次 commit 的详细描述,可以分成多行。
● 使用第一人称现在时,比如使用change而不是changed或changes。
● 应该说明代码变动的动机,以及与以前行为的对比。
Footer
Footer 部分只用于两种情况:不兼容变动和关闭 Issue。详见Commit message 和 Change log 编写指南
Git 提交工具
文字说明略,详见 Git Commit规范
Git 提交频率
其实如果严格按照提交格式去写说明后,提交频率也基本上可以确定下来。一次提交里,代码都具有相关性。如果无相关性的代码,需要放到多次提交里。涉及到同一个文件被两个待提交都有修改的,建议先针对一次提交修改该文件,待提交后,再进行二次提交的修改。一定要注意拆分。
分支的艺术
一个中心版本库(我们叫它 origin)至少包括两个分支,即主分支(master)和开发分支(develop)
在一个团队开发协作中,建议要有辅助分支的概念。
辅助分支的最大特点就是生命周期十分有限,完成使命后即可被清除。
辅助分支大体包括如下几类:管理功能开发的分支、帮助构建可发布代码的分支、可以便捷的修复发布版本关键 BUG 的分支等等。
设置三类辅助分支,我们称之为 Feature branches、Release branches、Hotfix branches。
至此,形成了如下这张最重要的组织组,包含了两个粗体字分支(master/develop)和三个细体字分支(feature/release/hotfixes)
详细参考 《GIT分支管理是一门艺术》
引用资料:
Commit message 和 Change log 编写指南
git commit 使用及规范
如何规范你的Git commit?
IDEA插件-Git Commit Template
Git commit规范
GIT分支管理是一门艺术