Gitflow工作流程

Gitflow工作流程是一套基于git的工作流程,定义了一个围绕项目发布的严格分支模型

  • 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
  • 迭代新功能则重复开发阶段

最后修改:2021 年 03 月 15 日 11 : 30 PM
如果觉得我的文章对你有用,请随意赞赏!