git分支工作流策略
我是git新手,对git有一点了解。git分支工作流策略,git,gitlab,git-branch,git-flow,Git,Gitlab,Git Branch,Git Flow,我是git新手,对git有一点了解。 我公司目前有1个项目,项目分为5个产品。每个产品由不同的团队处理 目前,我的公司git有5个分支机构,例如: dev=此分支用于开发人员构建程序(dev.program.com) test(alpha)=此分支用于测试人员测试程序(test.program.com) staging(beta)=此分支用于测试人员测试程序(双重检查错误)和客户端测试程序。(stg.program.com) staging trx=staging的副本,用于开发人员确保在将s
我公司目前有1个项目,项目分为5个产品。每个产品由不同的团队处理 目前,我的公司git有5个分支机构,例如:
- dev=此分支用于开发人员构建程序(dev.program.com)
- test(alpha)=此分支用于测试人员测试程序(test.program.com)
- staging(beta)=此分支用于测试人员测试程序(双重检查错误)和客户端测试程序。(stg.program.com)
- staging trx=staging的副本,用于开发人员确保在将staging服务于生产之前从staging中选择时没有错误冲突。(stg trx.program.com)
- master=从暂存trx合并并准备生产(master.program.com)
- Robert正在处理新功能和错误修复
- 安迪正在处理修复的bug
功能
分支,而不是将A合并到B、B合并到C、C合并到D等等
每个开发人员(或开发组)处理一个功能
分支,并将其合并到dev
进行集成测试
但是,当涉及到合并到其他开发生命周期步骤时(在您的情况下进行测试,然后是登台、qa、任何您想要的名称),您不会将dev
合并到test
将选定的功能
分支(最初合并到dev
)合并到所需的分支(测试、暂存等)
这样,您只需选择您认为已准备好并协同工作的功能子集,而不是尝试从dev
还原“未准备好”的功能,然后将dev
合并到test
我和
重要的一点是:dev
分支(用于将功能
分支集成在一起)是暂时的:它是为每个新版本创建/销毁的(而不是一个固定的dev
分支不时合并到master
)
您可以根据需要重新创建多个集成分支来共同测试功能(开发、测试、登台等)。然后,准备就绪后,您只需将右侧的
功能
分支合并到主版
(或任何其他发行版
分支),删除开发版
分支,然后为下一个发行版重新创建它
因此,请重复:
功能
分支被合并多次:
- 一次到
进行初始集成测试dev
- 然后,相同的
分支再次直接合并到功能
中(如果可能发生第二次生成,则不必在测试
中重新生成)功能
- 然后在
中再次直接合并(每次都是因为staging
分支被认为已准备好进入下一个生命周期开发阶段)功能
test
到staging
将通过
测试的功能
分支合并到集成生命周期的下一步(将功能
合并到暂存
分支)
目前,Robert仍在构建一个新功能,该新功能将影响一些文件和代码的主要更改。
所以Andy不能修改代码来修复bug,因为几乎所有的代码都已更改
是的,Andy可以在一个热修复
分支中,专门维护发布到生产中的最新代码。
Robert和Andy都可以参与该分支,如果需要所述修复,他们将负责将其修复提交应用到dev
(由于代码已更改,可能该错误修复在dev
中不再相关)
Andy是否将从热分支合并到测试?因为我们的最后一步是test
=>staging
=>staging trx
=>master
这个答案的全部要点是说明您不必从A
合并到B
到C
对于hotfix
分支,您很少将其合并到其他任何地方,因为dev
或test
分支的代码自上次发布以来已经有了很大的发展。您只需修复程序将您需要的提交回dev
或test
在功能
已经进入生产环境
后,我将销毁该功能
分支,对吗
好的