推荐使用
git flow 介绍
| 分支名 | 作用 |
|---|---|
| master | 主分支,用于uat发布或最终发布,绝不可直接push |
| develop | 主开发分支,基于master分支克隆,只能从其它分支合并 |
| feature | 功能开发分支,基于develop分支克隆,用于新功能新需求的开发 |
| release | 测试(sit环境)分支,提交给测试人员进行功能测试及在本分支进行BUG修复 |
| hotfix | 补丁分支,基于master分支克隆,用于uat或正式环境的版本进行BUG修复 |
git flow 使用
初始化
// (默认分支名)
git flow init -d
| 场景 | 分支前缀 |
|---|---|
| 新功能 | feature |
| 预发布 | release |
| 热修复 | hotfix |
feature 场景
- 新功能开始开发:
// git checkout -b feature/<feature-name> develop
git flow feature start <feature-name>
- 需要将本地代码提交到远程仓库:
// git push origin feature/<feature-name>
// git push --set-upstream origin feature/<feature-name>
// git push origin
git flow feature publish <feature-name>
- 当功能开发完毕后就将进入测试阶段:
// git checkout develop
// git merge feature/<feature-name>
// git branch -d feature/<feature-name>
git flow feature finish <feature-name>
release 场景
- 提测准备:
git flow release start <release-name|1.0.0>
- 需要将本地代码提交到远程仓库:
git flow release publish < release-name|1.0.0 >
- 待测试通过后需要发布UAT版:
// git fetch,拉取最新的代码
// 将分支合并到master分支
// 生成tag
// 将分支合并到develop分支
// 删除release/<release-name>分支
// 切换回develop分支
git flow release finish < release-name|1.0.0 >
- 推送到远程仓库:
git push origin –all
git push origin --tag
hotfix 场景
如果在uat或者线上发现了bug,需要进行紧急修复的时候,就需要用到了hotfix场景。
例如当前版本: 1.0.0.b0、1.0.0
- uat bug:
git flow hotfix start <hotfix-name|1.0.0.b1>
git flow hotfix finish <hotfix-name|1.0.0.b1>
- 正式环境 bug:
git flow hotfix start <hotfix-name|1.0.1>
git flow hotfix finish<hotfix-name|1.0.1>