【问题标题】:TFS Modify Merge With Delete To Become Merge Without The DeleteTFS 修改 Merge With Delete 变为 Merge without the Delete
【发布时间】:2012-12-04 09:25:44
【问题描述】:

我在尝试从集成合并到功能分支时遇到了问题。

问题始于以下 3 个操作: 1) 在集成分支的Solution1中添加了项目ABC。
2) 将解决方案 1 分支到功能分支。 3) 从集成分支的Solution1中删除项目ABC。

现在,我想将最新的从集成合并到功能分支,但我不想在合并期间实际删除项目 ABC。

我的标准是使用以下方法解决此问题: a) 一次签到 b) 合并自上次合并以来的所有变更集(包括删除) c) 不更改现有项目名称/路径

在我的梦想中,我请求合并,并在签入之前从我保存的副本中重新添加已删除的项目,并编辑解决方案文件以将参考数据保留到同一项目。

那里的任何人都知道如何执行此操作,或者可能知道有见地的 Microsoft 参考来记录为什么我不能或为什么这是一个坏主意?

我使用 Team Foundation Server 2010 和 Visual Studio 2010 进行源代码控制,我的解决方案和项目是在 BIDS 2008 中开发的。

感谢您的启发。

【问题讨论】:

    标签: visual-studio-2010 visual-studio-2008 merge bids


    【解决方案1】:

    接受的答案是完全错误的,因为合并永远不会以这种方式完成。如果你这样做,你只是部分完成了合并,并且每次都会被再次询问。

    真正的问题是,合并时不会发生冲突。因此,您对合并结果没有任何选择!

    所以让我们先撤消合并并重做。但是在您再次合并之前,通过 CheckingOut 整个目标分支(或者只是您想要防止被删除的文件)在每个文件上引发冲突!您可以在不编辑文件的情况下执行此操作。您可以在源代码管理资源管理器中右键单击该文件并选择 CheckOut。

    然后您可以解决冲突并合并它们而不接受删除! :)

    【讨论】:

      【解决方案2】:

      将集成分支合并到功能分支。

      合并操作只是“挂起”来自合并的所有更改。

      查看待处理的更改并删除您不想要的删除。

      提交。

      【讨论】:

      • 嗯。我们的正常工作规则是在我们将功能集成到集成之前总是先集成到功能。项目删除是在最初签入时自行删除的。现在,如果我在合并签入期间简单地取消选中删除(并编辑解决方案文件),恐怕下一次从集成到功能的合并仍会再次引发相同的项目删除。好的,当我有机会时,我会尝试这个,所有的投票/支票/其他类似的东西都会相应地更新。谢谢。
      • 读错了原始问题,更新了我的答案,说从集成合并到功能。我的建议仍然有效。它应该记录合并了哪些变更集,即使您取消选中删除。
      • 我创建了两个测试分支 Tb1,从 Tb1 分支到 Tb2。我从 Tb1 的解决方案中删除了项目 ABC,签入。最新从 Tb1 合并到 Tb2。编辑 Tb2 中的解决方案文件以添加否则将被删除的项目信息,取消选中项目 ABC 的文件夹/文件的删除,签入。 TFS Track 更改集显示 Tb1 中的删除更改集确实已提交(它部分使用了内容描述符,但没问题)到 Tb2。作为旁注,当我后来将最新的从 Tb2 合并到 Tb1 时,我没有需要解决的冲突。这样做。谢谢!
      • 当我这样做时,下一次合并想再次删除这些文件(因为删除操作没有再次合并)。所以我必须进行合并,签入删除,然后重新添加已删除的文件。挺麻烦的……
      【解决方案3】:

      我会看到执行此操作的选项,但有一个先决条件: 1. 从一般分支到特性分支进行樱桃采摘合并。这意味着您选择所有变更集,除了项目被删除的变更集。但是这个变更集必须不包含除删除项目之外的任何其他更改。 2. 进行合并,如果与项目文件发生合并冲突,以目标为主。如果没有发生冲突,请撤消功能分支中项目上的合并更改(合并、删除)。这样做意味着所有更改都已合并,特定项目的更改除外。

      【讨论】:

      • 谢谢,这对我自己或类似情况的人来说似乎是一种实用的方法。但是,如果可能的话,我更愿意包含所有变更集。我只是将其添加到描述中以使其更清楚。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      • 2020-07-08
      • 2016-04-21
      相关资源
      最近更新 更多