[英]TFS Branching - 2 Development branches
我目前使用TFS,并且具有以下结构。
我的TFS层次结构中的Dev行,Mainline和Release行。 我使用以下链接中详述的相同方法:
http://blog.tfsserver.com/a-straightforward-guide-to-branching/
(我计划在发布行中保留2或3个最新版本)
主线是代码的最新版本,并且将创建一个新的发行文件夹,以保留测试和批准主线代码的时间。
当前在我的开发人员行中,我有一个从分支创建的dev分支。
可以说,开发人员目前正在开发这个现有的dev分支,该更改将在4周内准备就绪。
我目前需要对生产中的当前代码版本(主线)进行紧急更改,并且我知道这些更改将需要2周的时间来完成和测试。
考虑到这一点,我显然不想使用现有的dev分支。
我无法直接在主线上进行更改,所以我想知道我考虑的以下方法是否正确?
我想我需要:
(1)从主线创建一个NEW Dev分支。 然后,我将拥有原来的/现有的dev分支,现在拥有一个NEW dev分支。 两者都将从相同的原始代码中分支出来。
(2)在NEW dev分支中进行更改
(3)对变更感到满意后,便可以将变更与Mainline合并,并将变更发布到生产(或选定的客户),然后将变更与原始Dev分支合并。 然后,当原始的dev分支变更在我的两周后完成时,它将与主线合并。
我想知道这是正确的方法吗? 即使我没有从现有/原始dev分支创建新分支,我也可以合并从NEW分支到现有dev分支的更改吗?
谢谢
如果从发行分支分支,则可以将这些更改合并回去,而与其他分支无关。 他们也可以合并更改,但是如果您都在同一个文件上工作,则可能必须经过合并冲突解决步骤。
当您将更改合并到Mainline中时,dev分支可以将更改从Mainline向下合并到其代码中。
另一个选择是,如果您还不想签入对主线的更改...如果您使用的是Visual Studio和TFS的最新版本,则可以使用架子集在分支之间合并代码。 但是,只有最新版本的VS / TFS才会在Unshelving上合并Shelveset。 以前,它只是复制您可能进行的任何更改而搁置的文件版本。
您可能需要查看以下方法。
包含主要的源代码树。 最新开发版本。
从Main分支出来,用于隔离测试。
从Main分支出来,用于隔离主动开发。
从Main分支,包含您当前在发布之前锁定的发布候选版本。 您在该分支机构工作,以准备发布软件,而其他部门则继续在Development分支机构工作,以开发新功能。
此文件夹包含您已经发货但现在需要为客户维护的分支。 您可以使用它来执行维护工作。 发行软件后,立即创建一个Maintenance *文件夹并将Production分支移入其中。 使用标签标记可能要返回的预维护版本。
此文件夹包含您不再维护的分支。 如果发行版不再符合更新资格,则可以将其从维护容器移至安全容器。
功能部件各自在单独的分支中工作。 当团队准备好整合工作时,他们会将分支合并到Development分支中。
当Development分支的构建稳定并准备好进行测试时,团队将Development分支合并到Test分支。
QA接受构建后,团队将Test分支合并到Main分支,并从Main分支创建Production分支,让外部试点用户使用它。
一旦完成,团队将生产分支移至维护容器下,与此版本相关的任何进一步维护将在该分支下完成。
如果发布将不再接受维护,则团队将分支从维护转移到安全容器。
在你下维护容器分公司的作品中 总是确保你贴上标签 。
取自TFS分支与合并
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.