【问题标题】:TFS 2015 - Can you have multiple branches using the same solution?TFS 2015 - 您可以使用相同的解决方案拥有多个分支吗?
【发布时间】:2017-12-29 10:49:35
【问题描述】:

我目前的需要是能够从我们的主分支创建一个新分支并打开新的分支解决方案并解决它。

发生了什么,我已将我的主要源代码文件添加到 TFS,将解决方案绑定到源代码控制,并且应用程序可以正常运行。当我从主分支创建一个新分支时,关闭 Main 的解决方案,然后我尝试打开新的分支解决方案,它绑定到主解决方案而不是新分支中的解决方案。有没有办法解决这个问题?

【问题讨论】:

  • 您的解决方案文件是否也是分支文件夹的一部分?还是解决方案存储在不同的文件夹中(或仅本地存储)?
  • 正如 jesse 所说,我们签入我们的 .sln 文件,以便它们使用分支进行版本控制
  • Jess,是的,解决方案是主分支文件夹的一部分,也是 TFS 中的“TestBranch”文件夹。我已将项目映射到我的本地驱动器,而不是网络驱动器(很确定这与您映射分支的位置无关)。我已经很久没有使用 TFS 了,显然我做错了什么。如果您需要更多信息,请告诉我。感谢您的帮助,非常感谢。
  • 只是为了澄清要求,该应用程序基于预定的事件,每个事件可能有完全不同的要求,我们一次可以有多个事件。我认为我们可以做的是有一个 Main 分支,从 Main 为每个预定事件创建一个新分支,所以我们不是只处理一个 Main 分支,而是每个事件分支。希望这是有道理的。谢谢

标签: tfs-2015


【解决方案1】:

是的,你可以这样做:

  1. 创建了一个“$/Main”文件夹
  2. 将其转换为分支
  3. 创建了一个“$/Dev”文件夹
  4. 从 Main 分支到“$/Dev”

例如,如果您的正常工作区从“$/Dev”映射到本地“C:\Dev”文件夹。这就是您进行日常工作的地方,解决方案文件就在其中。

那么当你向前合并到Main时,解决方案自然也随之而来。解决方案不涉及任何分支。它包含相对于磁盘位置的引用,因此它可以在任何分支或任何机器上运行。

【讨论】:

  • Patrick,据我所知,当将 Main 文件夹转换为分支,然后从 Main 分支到 Dev 文件夹时,Dev 文件夹保留为文件夹还是应该成为一个分支?谢谢
  • 我按照您的说明进行操作,此外,我创建了一个 Releases 文件夹,在其中我用新名称分支了相同的项目/解决方案,然后在尝试打开发布文件夹中的项目/解决方案时,它促使我绑定到我所做的源代码管理。我做了一些修改,项目/解决方案独立于主解决方案。我做了同样的事情,从 Main 分支到发布文件夹,给项目/解决方案一个不同的名称,试图打开解决方案,TFS 提示我绑定到源代码管理,说是的,我重新加载了所有项目但没有成功。
  • @William 将 Main 文件夹转换为分支然后从 Main 分支到 Dev 文件夹时,它取决于您的 Dev 文件夹是否存在,如果 Dev 文件夹不存在,您将得到一个新的开发分支。如果 Dev 文件夹已经存在,你会得到一个错误信息The item xxx/Dev已经存在`。
  • @William 根据您的描述,听起来像预期的行为,rename 是 TFS 中的“删除”+“添加”操作。如果您再次从 main 进行合并,您的发布分支中将有两个解决方案。这会弄乱你的发布分支。为什么您必须重命名并在原始解决方案上进行一些修改?一个干净的方法是直接在你的发布分支上创建一个新的不同的解决方案。
  • Patrick,我正在处理一个事件应用程序,每个事件可能有不同的要求,因此您必须为每个特定事件独立编码并将其视为“新”应用程序。此外,您可以同时拥有多个事件,所以我想做的是拥有 Main 分支,然后创建新分支并为每个特定事件独立处理新分支。如果你说我做不到,我想我需要为每个事件创建一个新项目并以这种方式工作,除非你知道我能做的其他事情。谢谢
猜你喜欢
  • 2013-04-12
  • 2017-07-30
  • 1970-01-01
  • 1970-01-01
  • 2021-06-04
  • 1970-01-01
  • 1970-01-01
  • 2018-07-15
  • 1970-01-01
相关资源
最近更新 更多