Gitflow 工作流程
Gitflow 是 Vincent Driessen 提出了一个分支管理的策略,非常值得借鉴。它可以使得版本库的演进保持简洁,主干清晰,各个分支各司其职、井井有条。
原文:https://nvie.com/posts/a-successful-git-branching-model
核心分支
核心分支主要指
主干分支(master)
和开发主分支(develop)
两个长期存在的分支!
主干分支(master): 代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。这个分支只能从其它分支合并,不能在这个分支上直接修改。需要注意的是,所有在master上的提交应该标记tag。
开发主分支(develop): 平时开发用的主分支,永远是功能最全最新,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支。该分支应该只是进行一些优化和升级开发,如果有新的需求应该拉出一个feature分支。
临时分支
临时分支主要指
功能分支(feature/*)
、发布分支(release/*)
和热修复分支(hotfix/*)
三个长期存在的分支!
功能分支(feature/*): 这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回开发主分支(develop)
进入下一个Release。
发布分支(release/*): 当我们需要发布一个新的 Release 时候,我们先基于开发主分支(develop)
创建一个Release分支,完成Release后,我们合并到主干分支(master)
和开发主分支(develop)
。
热修复分支(hotfix/*): 当我们在生产环境
发现新的Bug时候,我们需要创建一个热修复分支(hotfix/*)
, 完成Hotfix后,首先会合并到开发主分支(develop)
进行本地验证,验证无误后再合并到主干分支(master)
,并创建新的发布分支(release/*)
进行生产环境更新,所以Hotfix的改动会进入下一个 Release。
工作流程
请严格按如下工作流程操作
git-flow工作流程:
初始化 master 分支,设置版本号 1.0.0,打标签 v1.0.0@tag1.0
从 master 分支克隆 develop 开发基础分支
从 develop 分支克隆 feature 开发新功能分支
在 feature 分支开发测试完成后,合并到 develop 分支
在 develop 分支测试完成后,合并到 release 分支
在 release 分支测试并修改文档后,合并到 master 分支,设置版本号 1.1.0,打标签 v1.1.0@tag2.0
如果线上出现紧急问题需要修复,从 master 克隆 hotfix 修复问题分支
在 hotfix 分支开发测试完成后,合并到 master 分支,设置版本号 1.1.1,打标签 v1.1.1@tag2.1
分支提示
:
master 分支从 release 或者 hotfix 分支合并,不能直接修改,每次合并都要设置版本号并且打标签
develop 分支从 master 分支克隆,或者合并 feature 分支
feature 分支从 develop 分支克隆
release 分支合并 develop 分支
hotfix 分支从 master 分支克隆,再合并回 master 分支
参考资料
https://www.codenong.com/cs106101965/
https://zhuanlan.zhihu.com/p/349805087
https://www.jianshu.com/p/462d556c320f
https://blog.csdn.net/guoguo527/article/details/118559042
最后编辑:Jeebiz 更新时间:2024-11-14 21:58