GIT FLOW 工作流
AzerothSong 发布于 阅读:699 git
我个人开发过程中一般使用git管理,公司内部也会推行一下这种协作方式
Git Flow 是一种基于 Git 的分支管理模型,它为项目的开发过程提供了一种结构化的方法。Git Flow 由 Vincent Driessen 提出,特别适合于有明确发布周期的项目。
分支模型
Git Flow 主要使用以下几种类型的分支:
主分支(master):
该分支用于保存生产环境的代码。每次发布的版本都会被标记(tag)在这个分支上。
开发分支(develop):
该分支用于开发过程中的集成工作,所有的新特性和修复都在这个分支上进行。当开发完成后,代码会合并回主分支。
特性分支(feature):
这些分支用于开发新特性,通常是从 develop 分支派生而来。特性开发完成后,会将其合并回 develop 分支。
修复分支(hotfix):
当在 master 上发现紧急问题时,可以直接从 master 分支创建修复分支。修复完成后,将其合并回 master 和 develop 分支。
发布分支(release):
当 develop 分支上的功能准备好发布时,可以创建一个 release 分支。此分支用于准备发布版本,例如进行最后的测试和修复小bug。发布完成后,合并回 master 和 develop 分支。
分支操作流程
以下是 Git Flow 的基本操作流程:
创建特性分支:
git checkout develop
git checkout -b feature/新特性
完成特性开发并合并:
git checkout develop
git merge --no-ff feature/新特性
git branch -d feature/新特性
创建发布分支:
git checkout develop
git checkout -b release/版本号
完成发布并合并:
git checkout master
git merge --no-ff release/版本号
git tag -a v版本号 -m "发布版本版本号"
git checkout develop
git merge --no-ff release/版本号
git branch -d release/版本号
创建修复分支:
git checkout master
git checkout -b hotfix/修复名称
完成修复并合并:
git checkout master
git merge --no-ff hotfix/修复名称
git tag -a v新版本号 -m "修复版本"
git checkout develop
git merge --no-ff hotfix/修复名称
git branch -d hotfix/修复名称
命令是比较多的,这里推荐使用git工具 毕竟有时候命令行输入还是比较麻烦的,工具可以通过简单的输入然后点击就结束了SourceTree 安装方式请自行百度
优点
项目结构清晰,适合团队协作。明确的分支策略,有助于管理开发、测试和发布。方便处理多个特性和修复,减少冲突的可能性。
缺点
对于小型项目,可能显得过于复杂。需要团队成员遵循固定的工作流程,可能会增加沟通成本。
总结
Git Flow 是一种强大而灵活的工作流,适用于需要定期发布和维护的项目。通过合理使用各类分支,可以让团队成员在开发过程中协同工作,有效管理代码变更。理解并遵循 Git Flow 的原则,有助于提高开发效率和代码质量。并不是知道了工作流就一定要使用,根据项目的需求和开发团队的人员数量决定是否使用。如果一个项目就你一个人负责 完全没有必要走工作流,将稳定版本打上标签也是能满足需求的
参考资料:
https://www.ruanyifeng.com/blog/2015/12/git-workflow.html
https://liaoxuefeng.com/books/git/branch/index.html