从现有分支项目新建团队项目 - 如何保留分支路径?

New Team Project from Existing, Branched Project - How to Retain Branch Paths?

提问人:John Saunders 提问时间:10/20/2011 更新时间:4/27/2012 访问量:2998

问:

我有一个使用现成的 MSF for Agile 5.0 过程模板创建的现有团队项目。此后,我们对定制的 Microsoft Scrum 1.0 模板进行了标准化。我刚刚在现有项目的基础上,使用我们当前的模板创建了一个新的团队项目。在原始团队项目中将不再执行任何工作。

这个现有的团队项目使用 ALM Ranger 的分支指南中的“基本”分支模式:

Original Team Project Branch Hierarchy

在创建新项目时,我选择了通过从原始项目分支来启动新项目。结果不是我所想的:

New Team Project Branch Hierarchy

我想要一个“团队项目 2/开发/开发”分支,该分支来自“团队项目 2/Main”,与“发布”相同。这给我留下了两个问题:

  1. 我应该做一些不同的事情来获得我想要的结构吗?
  2. 现在可以做些什么来将新的(坏)结构更改为我想要的结构?
TFS 分支 团队项目

评论

0赞 Nick Nieslanik 10/20/2011
所以你真的想要 TP1\Main -> TP2\Main ->TP2\development & TP2\Release?
0赞 John Saunders 10/20/2011
是的,没错。我希望新项目中的结构与旧项目相同。事实上,我并不是真的想创建一个新的分支,但我被迫这样做。

答:

2赞 Nick Nieslanik 10/21/2011 #1

要获得您想要的结构,我认为您需要执行以下操作:

  • 使用空的源代码管理区域(而不是分支)创建新的团队项目。
  • 然后在 TP1 中,手动将 Main 分支到 TP2/Main(或“暂存”,然后进入 main)
  • 然后为新的 Main 创建 Development/Dev 和 Release/Release 分支

这不会迁移旧的 Dev 和 Release 分支。要使它们对新结构进行任何更改,您必须在整个过程之前将合并重新合并到 TP1\Main 中。显然,如果您想冻结旧的“发布”,这有点不理想。在这种情况下,您可能希望将其显式分支到新的 TP2/Release/Release 区域,并注意它来自旧项目。然后,您可以仅在较新版本上与 TP2/Main 建立新的分支关系。

至于“我现在能做些什么吗?我认为答案是,不,不,不就是一些非常激烈的事情,比如重新开始这个过程,或者只是关闭现有的分支并使用上面的建议重新分支。

评论

0赞 John Saunders 10/21/2011
我没有看到不创建源代码管理的选项。选项要么是新建文件夹,要么是选择分支。
0赞 Nick Nieslanik 10/21/2011
@JohnSaunders 我所说的空源代码管理是指一个新文件夹。然后把所有东西都放在下面......
1赞 Bruno Matuk 4/27/2012 #2

若要实现所需的结构,在创建新的团队项目后,必须执行无基础合并。Baseless merge 用于合并没有关系的分支。执行 baselees 合并后,Tfs 将在分支之间建立关系。

注意:在“查看层次结构”窗口中,您将无法看到分支之间的连接链接,但通过“源代码管理合并向导”,您将能够选择分支并合并。

在您的例子中,您可以在“xxx2/Main”和“xxx2/Developement/Developement”之间执行baselees合并,并在“xxx2/Main”和“xxx2/Release/Release”之间执行另一个baselees合并。执行无基础合并后,TFS 将在分支之间创建关系,你将获得结构。

编辑1: “源代码管理合并向导” == 在“源代码管理资源管理器”>右键单击所需的分支> Banching 和 Merging > Merge。在“目标分支”中,您将能够选择分支。

评论

0赞 John Saunders 4/27/2012
谢谢你的信息。你能给我一个关于“源代码管理合并向导”的链接吗?