Git 是目前非常流行的源代码管理工具。为了保持代码提交记录以及 git 分支结构清晰,方便后续维护,我们应该如何制定规范呢?
1、git 分支命名规范
git 分支主要包括:
- 主分支master:用于发布重大版本更新
- 开发主分支develop:日常开发在此分支进行,所有新功能都要以这个分支来创建自己的开发分支,该分支只做合并操作,不能直接在该分支上开发
- 临时性分支:用于应对一些特定的版本开发(验证没有问题后,应该删除此分支)。在日常开发为了能让团队成员清晰明了知道你这个分支做了什么,在创建分支时尽量带上以下前缀,有了前缀后面再加上你具体做了什么。
- feat-xxx:新增功能
- fix-xxx :修补bug
docs-xxx:仅修改了文档
style-xxx:修改样式,不改变代码逻辑
chore-xxx:不太重要的修改,比如代码风格、改变构建流程
test-xxx:添加测试
例如我要增加一个收藏商品的功能可以这样命名:feat-collect-goods
注意事项:
-
一个分支尽量开发一个功能模块,不要多个功能模块在一个分支上开发。
- 分支在申请合并之前,最好是先 pull 一下 develop 主分支下来,看一下有没有冲突,如果有就先解决冲突后再申请合并。
2、Commit message 的格式
每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。
<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>
其中,Header 是必需的,Body 和 Footer 可以省略。
2.1 Header
Header部分只有一行,包括三个字段:type
(必需)、scope
(可选)和subject
(必需)。
(1)type
type
用于说明 commit 的类别,与分支命名前缀应该保持一致,也是以下几种标识。
- feat:新增功能
- fix:修复bug
- docs:修改了文档
- style:修改了样式,不改变代码逻辑
- chore:不太重要的修改,比如代码风格、改变构建流程
- test:添加测试
(2)scope
scope
用于说明 commit 影响的范围,范围可以是指定提交更改位置的任何内容。
(3)subject
subject
是 commit 目的的简短描述,不超过50个字符。
- 以动词开头,使用第一人称现在时,比如
change
,而不是changed
或changes
- 第一个字母小写
- 结尾不加句号(
.
) - 如果没有更合适的描述,可以直接写提交内容
2.2 Body
Body 部分是对本次 commit 的详细描述,应该说明代码变动的动机,以及与以前行为的对比。
可以分成多行。一般重大需求更新需要把添加body说明。
2.3 Footer
指明影响的问题,一般是一个issure或需求文档。