Git 协作 
分支命名 
| 类型 | 命名 | 
|---|---|
| 上线 | master | 
| 开发 | dev | 
| 功能 | feat/[姓名]/[时间]/[补充名] | 
| 修复 | fix/[姓名]/[时间]/[补充名] | 
| rebase | rebase/[其他分支名称]或者rebase/[姓名]/[时间]/[补充名] | 
补充名 
补充名为可选,名称为标识作用,如 spring32
姓名格式 
姓名声母小写,例 张三 => zhs
时间格式 
年份后两位+日+月,日月不足两位补全两位,例 211202。
注意
- feat分支时间使用迭代周期开始时间。
- fix分支使用当前时间。
假设 迭代:【211213-211224 期】; 当前时间为:211220 ; 开发人为张三;
分支名称示例:feat/zhs/211213,fix/zhs/211220
- rebase分支命名注意事项- rebase的分支打算合并到- master分支发布版本时: 使用- rebase/[姓名]/[时间]/[补充名]格式命名,时间为迭代开始时间,例- rebase/zhs/211213
- 其他分支 rebase 时:使用 - rebase/[其他分支名称]格式命名,例- rebase/dev,- rebase/feat/zhs/211213,- rebase-fix-zhs-211220
 
工作流程 

Commit Message 规范 
消息格式 
消息必须匹配以下正则表达式:
/^(revert: )?(feat|fix|docs|dx|refactor|perf|test|workflow|build|ci|chore|types|wip|release|deps)(\(.+\))?: .{1,50}/示例 
出现在Features标题下,dev子标题下:
feat(dev): add 'comments' option出现在Bug Fixes标题下,dev子标题下,带有禅道问题#28 的链接:
fix(dev): fix dev error
close #28出现在“性能改进”标题下,并在“重大更改”下给出重大更改解释:
perf(build): remove 'foo' option
BREAKING CHANGE: The 'foo' option has been removed.以下提交和667ecc1不会出现在更改日志中,如果它们是在同一个版本下。如果没有,恢复提交将出现在revert标头下。
revert: feat(compiler): add 'comments' option
This reverts commit 667ecc1654a317a13331b17617d973392f415f02.完整的消息格式 
一个提交消息包括一个header,body和footer。头文件有type,scope和subject:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>header 是必须的, scope 是可选的
Revert 
如果提交恢复了之前的提交,它应该以 revert:开头,后面跟着被恢复的提交的头部。在 body 中,它应该说: This revert commit <hash>。其中的哈希值是被还原的提交的哈希。
Type 
如果前缀是feat, fix或perf,它将出现在 changelog 中。然而,如果有任何BREAKING CHANGE,提交将始终出现在 changelog 中。
其他前缀由您自行决定。建议使用docs、chore、style、refactor和test作为非变更日志相关任务的前缀。
Scope 
范围可以是任何指定提交更改位置的内容。例如 dev, build, workflow, cli 等等...
Subject 
主题包含了对变化的简要描述:
- 使用祈使句,现在时: "change"而不是"changed"或"changes"
- 不要把第一个字母大写
- 末尾没有点(.)
Body 
和 subject 一样, 使用祈使句,现在时: "change"而不是"changed"或"changes",
正文应该包括改变的动机,并将其与之前的行为进行对比。
如果上线rebase分支提交信息,需要包含迭代周期信息。如下:
release: 1.0.1
【211213-211220】期:
- feat: xxx
- fix: xxxFooter 
页脚应该包含任何关于BREAKING CHANGE的信息,或者是写关于禅道问题关闭的地方。
Breaking Changes 应该以 BREAKING CHANGE: + 一个空格 + 两个换行开头,其余和完整消息格式一致。
版本号 
格式 
[主版本号].[副版本号].[修复版本号]
例如: 1.0.1
规则 
- 巨大改动,主版本号 +1
- 功能迭代,副版本号 +1
- 修复问题,修复版本号 +1
注意
每次发布上线,只能更改其中一个版本号, 某个版本号变动后,其后边的版本号归零。
如当前版本为1.0.1,进行了一次功能迭代,版本号变动为1.1.0