Gitflow工作流程
- Master:用于保存上线版本代码
- Develop:用于保存相对稳定版本代码, 所有的feature分支都从该分支创建
- feature/目录名:用于开发新的功能,不同的功能创建不同的功能分支,功能分支开发完成并自测通过之后,需要合并到develop分支
- release/目录名:用于代码上线前准备(测试、文档完善、bug修复),该分支从develop分支创建,需要合并该release分支到master分支和develop分支
- bugfix/目录名:用于修复不紧急的bug,开发完成自测没问题后合并到 release 分支后,删除该分支
- hotfix/目录名:用于修复紧急的bug,从master分支创建,需要合并该分支到master分支和develop分支
- 初始化远程工作区
git init --bare
和共享版本库 clone工作区到本地,设置用户名和邮箱,并初始化项目
- git add .
- git commit -m
- git push
- git tag v0.1
- git push origin v0.1
- 在master定制标记
git tag -a v0.1 -m "注释"
,查看标记:git tag
- 将master分支提交
push
到远程服务器 基于master分支创建develop分支
- git switch master
- git branch Develop
- git switch Develop
- git push
- 将develop分支提交
push
到远程的服务器 - 给开发人员分配工作任务
- 创建功能文件夹并完成项目,如文件夹名login
基于develop分支创建功能分支,如feature/login
- git branch feature/home
- git switch feature/home
- 切换到功能分支上add、commit、push功能文件夹
开发完成告诉项目经理,由项目经理审核代码并在develop分支上合并代码
- git pull
- git switch feature/home 检查代码
- git switch Develop
- git merge feature/home
- git switch feature/login 检查代码
- git switch Develop
- git merge feature/login
项目经理基于develop分支创建release分支
- git switch Develop
- git branch Release/v1.0
- 测试人员获取release分支代码进行测试
发现bug,则通知开发人员基于release分支创建bugfix分支进行修复
- git pull
- git switch Release/v1.0
- git branch bugfix/issue32
- 修复bug / add / commit
修复完成后开发人员将bugfix分支重新合并到release分支,并push
- git switch Release/v1.0
- git merge bugfix/issue32
- git push
最后项目经理将release分支分别合并到master分支和develop分支
- git switch Develop
- git merge Release/v1.0
- git switch master
- git merge Release/v1.0
项目经理给master分支制定标记
git tag -a v0.1 -m "注释"
- git switch master
- git tag -a v1.0 -m"项目第一次上线"
项目经理将标记提交到远程服务器
git push origin 版本号
- git push origin v1.0
- 项目完成上线
- 项目上线后如果出现了紧急bug
项目经理需要基于master分支创建hotfix分支,在该分支上修复bug
- git switch master
- git branch hotfix/issue66
- 修复bug / add / commit
修复完成后将hotfix分支分别重新合并到master分支和develop分支
- git switch Develop
- git merge hotfix/issue66
项目经理在master分支定制标记,并提交到远程服务器
- git switch master
- git merge hotfix/issue66
- git tag v1.1
- git push origin v1.1
- 迭代新功能则重复开发阶段