提问人:John Saunders 提问时间:10/20/2011 更新时间:4/27/2012 访问量:2998
从现有分支项目新建团队项目 - 如何保留分支路径?
New Team Project from Existing, Branched Project - How to Retain Branch Paths?
问:
我有一个使用现成的 MSF for Agile 5.0 过程模板创建的现有团队项目。此后,我们对定制的 Microsoft Scrum 1.0 模板进行了标准化。我刚刚在现有项目的基础上,使用我们当前的模板创建了一个新的团队项目。在原始团队项目中将不再执行任何工作。
这个现有的团队项目使用 ALM Ranger 的分支指南中的“基本”分支模式:
在创建新项目时,我选择了通过从原始项目分支来启动新项目。结果不是我所想的:
我想要一个“团队项目 2/开发/开发”分支,该分支来自“团队项目 2/Main”,与“发布”相同。这给我留下了两个问题:
- 我应该做一些不同的事情来获得我想要的结构吗?
- 我现在可以做些什么来将新的(坏)结构更改为我想要的结构?
答:
要获得您想要的结构,我认为您需要执行以下操作:
- 使用空的源代码管理区域(而不是分支)创建新的团队项目。
- 然后在 TP1 中,手动将 Main 分支到 TP2/Main(或“暂存”,然后进入 main)
- 然后为新的 Main 创建 Development/Dev 和 Release/Release 分支
这不会迁移旧的 Dev 和 Release 分支。要使它们对新结构进行任何更改,您必须在整个过程之前将合并重新合并到 TP1\Main 中。显然,如果您想冻结旧的“发布”,这有点不理想。在这种情况下,您可能希望将其显式分支到新的 TP2/Release/Release 区域,并注意它来自旧项目。然后,您可以仅在较新版本上与 TP2/Main 建立新的分支关系。
至于“我现在能做些什么吗?我认为答案是,不,不,不就是一些非常激烈的事情,比如重新开始这个过程,或者只是关闭现有的分支并使用上面的建议重新分支。
评论
若要实现所需的结构,在创建新的团队项目后,必须执行无基础合并。Baseless merge 用于合并没有关系的分支。执行 baselees 合并后,Tfs 将在分支之间建立关系。
注意:在“查看层次结构”窗口中,您将无法看到分支之间的连接链接,但通过“源代码管理合并向导”,您将能够选择分支并合并。
在您的例子中,您可以在“xxx2/Main”和“xxx2/Developement/Developement”之间执行baselees合并,并在“xxx2/Main”和“xxx2/Release/Release”之间执行另一个baselees合并。执行无基础合并后,TFS 将在分支之间创建关系,你将获得结构。
编辑1: “源代码管理合并向导” == 在“源代码管理资源管理器”>右键单击所需的分支> Banching 和 Merging > Merge。在“目标分支”中,您将能够选择分支。
评论