git 工作流

分支规范

  • 主分支(保护分支):master

正式环境分支,所有新版本都应由此处 checkout 出去。 这个分支用于合并其他的功能分支并发布到线上,应该相对独立,不能在该分支直接修改。

  • 主分支(保护分支):develop

测试环境分支,揉杂正在测试的各个分支以及大部分的测试用代码,严格上禁止将此分支合并到功能分支或从他 checkout 新分支。

  • 辅助分支

1. feature 功能分支,version由产品以语义化版本的规范确定。
2. hotfix 线上热修复分支
3. release 预发布分支

辅助分支用于临时的开发需要,在功能上线且测试通过的情况下应该及时删除。

创建新功能分支或热修复分支

// 所有新功能都应该从master分支切出去
git checkout master

git checkout -b feature/v3.0.5

合并功能分支到测试环境

git checkout develop

git merge feature/v..

删除分支

git branch -D feature/v..

对应提交内容摘取

git cherry-pick [commit-id]

git 提交命名规范

遵循三要素原则,即

  • 类型(模块 || 总结)type

  • 内容 content

  • 备注 remarks

对应公式为:

<type>(<content>): <remarks>

其中类型和内容必填,备注选填。

1.类型

规范的主要类型如下:

  • feat:新功能或功能变更相关

  • fix:修复 bug 相关

  • docs:改动了文档,注释相关

  • style:修改了页面样式或代码格式化相关,如删除空格、改变缩进、单双引号切换、增删分号等,并不会影响代码逻辑

  • refactor:重构代码,代码结构的调整相关(仅改变写法,理论上不改变主流程)

  • perf:性能改动,性能、页面等优化相关

  • test:增加或更改测试用例,单元测试相关

  • build: 影响编译的更改相关,比如打包路径更改、npm 过程更改等

  • chore:其它改动相关,比如文件的删除、构建流程修改、依赖库工具更新增加等

其中项目中用得较多的是 feat、fix、docs、style。

2.内容

简短概括本次提交文件包含的内容,可以是修复了什么缺陷、完成了某一个模块的功能,建议在一行内描述完毕。

3.备注

该模块为选填,可以附带上对提交信息有帮助的内容,如修复缺陷对应的 bugId、线上热修复时间等。

一些优秀的提交信息(摘取自 antd)

git commit -m "feat(shadow): adjust less variable of shadow according to the document"

git commit -m "fix(Form): scrollToError abnormal sequence of dynamic form"

最后更新于

这有帮助吗?