目前在我正在开展的项目中,我们只是将TRUNK,TAG,BRANCH结构准备好进行版本控制。由于大约有10名开发人员在单独的问题上工作,我们想知道哪个应该是推进的最佳策略。
该项目的一个特点是,在一天结束时,任何已解决的ISSUE必须在测试后部署到INTEGRATION,HOMOL和PROD。
但我们正在谈论以任何方式控制任何问题,我们可以选择哪一个必须升级。
为每个ISSUE创建一个单独的BRANCH应该是解决方案吗?
我们应该维持一个BRANCH for INTEGRATION,HOMOL除了TRUNK以反映促销活动吗?
这个场景有一个众所周知的方法,你们可以分享吗?
答案 0 :(得分:0)
我不确定其他问题,但我认为答案是,
Should we maintain a BRANCH for INTEGRATION, HOMOL aside TRUNK to reflect the promotions?
是,不。我相信部署到初始环境的任何内容都应该部署到后续环境中。我对“推广”的定义只是移动(二进制,安装程序,TAR的网络目录等),而不是为每个新环境检查和重建。
答案 1 :(得分:0)
如果我理解你的问题,我认为你问的是如何积极开发不稳定的变化,然后将变化标记为其他人可以使用的变化。所以你需要在你的存储库中一些总是“干净”的地方。
我见过几种方法。一种方法是始终为每个ISSUE创建一个分支(我只使用全部大写,因为你在你的问题中做了,我真的不知道为什么)。一旦ISSUE的修复完全编码,测试,并且可能经过同行评审,您就可以将ISSUE的分支合并回主干。通过这种策略,主干本身总是“干净”,但会有很多合并。
我能立即想到的另一种方法是在trunk或branch目录下创建一个单独的“稳定”目录。如果你觉得关于主干的一组问题已经准备就绪,那么就可以将已经准备好的问题合并到“稳定”。现在,稳定目录总是“干净”,但是trunk可能正在进行中或者已经破坏了。以这种方式合并的次数较少,因为您可以批量执行此操作,但是可能需要更多工作来跟踪哪些更改实际包含在stable中,哪些不是,并且挑选合并的性质意味着您冒险通过离开来破坏某些内容在您未合并的修订版本中进行必要的更改。