Git Flow规范
Git Flow规范
所有的这些规范都是针对特定的 多人 设定的,意在让多人协作的过程更顺畅,更简单,减少不必要的冲突和时间的浪费。

预设两个分支
- master只能用来包括产品代码。你不能直接工作在这个master分支上
- develop是你进行任何新的开发的基础分支
这两个分支被称之为长期分支

- 功能开发feature - 整合回到develop
- 等待更全面的测试
- 等待和develop一起进行发布
 
- 管理release - 新功能已经添加,bug已经修复
- 代码已经被测试
- release分支使用版本号命名的
 
- bug修复hotfix - 针对master分支
 
优点:清晰可控
缺点:相对复杂,不合适持续发布
Github Flow

- 根据需求,从master拉出分支
- 激烈的开发阶段,提交commit
- 开发完毕,发起PR(pull request)
- 代码评审
- 部署,并且测试
- 没问题,merge到master
Github Flow的最大有点就是简单,对于"持续发布"的产品,可以说是最合适的流程。
两大规则
- branch命名 - feature开头代表功能开发
- hotfix开头代码bug修复
 
- commit信息,必须言之有物,杜绝update, fix bug这类废话 
自定义Git 规范
规范采用固定双分支 master and dev
master 作为主分支
dev 作为开发分支
创建分支
开发新功能或者修复 bug 之前,要用最新的 dev 分支代码,拉新的分支,然后进行开发。git 分支命名规范如下:
- master主干分支,当前正在运行的代码。不可直接往- master提交代码。
- dev开发分支,当前正在开发、但尚未发布的代码。不可直接往- dev提交代码,但可以合并其他分支。
- server开发分支,用于部署 server 端功能,不可直接往- server提交代码,但可以合并其他分支。
- feature-xxx开发新功能
- fix-xxxbug 修复
- hotfix-xxx高优紧急 bug 修复,修复完需紧急上线
- doc-xxx仅修改文档,不修改代码
提交 commit
请按照一下步骤提交代码,不要怕麻烦
- git status确认修改的文件,都符合预期
- git diff确认修改的内容,都符合预期
- git add .
- git commit -m "xxx"提交代码,此时会自动进行 eslint 和 prettier 的检查和修复,请耐心等待
注意,在执行 git commit 时,请务必遵守 commit 规范,程序也会强制按照如下格式提交:
- feat: xxx新功能 —— 【注意】请务必谨慎使用- feat,除非真的是新功能,否则不要乱用。
- fix: xxxbug 修复
- style: xxx修改样式
- docs: xxx修改文档
- refactor: xxx重构某个功能
- test: xxx增加或修改测试用例
- chore: xxx修改辅助功能(如 webpack eslint 等)
- perf: xxx性能优化
- release: xxx发布新版本
- revert: xxx回退
例如,你本次 commit 是修复了一个 bug ,那就执行 git commit -m "fix: 说明本次修改了哪个 bug"
Commit 信息,杜绝 update,fix bug 这类废话,每次提交必须言之有物,至少要言简意赅的把一次 commit 完成的任务说清楚。
创建 PR(Pull Request)
创建 Pull Request ,将当前分支合并到 dev 分支(不是 master 分支),重要!!
然后,一定要自己先看一看 PR 的 Files Changed ,看是否符合自己的预期,重要!!如果不符合预期,则把这个 PR 关掉,再重新修改代码,重新提交 PR 。
代码 review 过后即可 merge 重要!!