【问题标题】:How can I remove a merge candidate from the Merge tool in Team System?如何从 Team System 的合并工具中删除合并候选者?
【发布时间】:2016-02-18 23:42:30
【问题描述】:

在 Team System 中,我在分支 ServicePack\2.1(从 Integration 分支)中更改了一个文件,我不想将它合并到 Integration。当我尝试合并选定的变更集时,如何将其从潜在的变更集列表中删除?

【问题讨论】:

    标签: tfs


    【解决方案1】:

    假设您要删除候选 #1234...

    tf merge ServicePack\2.1 Integration /r /version:1234~1234 /discard
    tf checkin
    

    【讨论】:

    • 这可以从 TFS Visual Studio 2010 UI 中使用吗?
    • 这个/discard 选项真的有效吗?因为当我运行这个命令的时候,Pending Changes 中会发生变化,就像我手动执行了合并操作一样。
    • @Anar Khalilov:是的,确实如此。有变化,但始终是“保持目标分支版本”(KeepYours)。
    • 确保从映射文件夹中执行命令!
    • 有没有办法撤销discard
    【解决方案2】:

    在 Team Foundation Server 2010 中,您可以使用以下语法从合并中丢弃变更集:

    tf merge "$/[Source Branch]" "$/[Target Branch]" /r /version:[Version] /discard
    

    【讨论】:

      【解决方案3】:

      虽然您无法“删除”合并候选者,但可以在合并该文件时选择“接受目标版本”选项。

      这会将文件标记为已合并,但不会对目标进行任何更改。虽然不是最优雅的解决方案,但它可以满足您的需求。

      【讨论】:

      • 就算没有冲突?
      • 我明白你的意思。我看不出如何以优雅的方式做到这一点,但您可以正常进行合并,然后在签入时用目标分支的内容覆盖该文件。 TFS 需要像 Perforce 那样支持这个用例。
      • 这很危险。即使您小心翼翼地准确保留文件内容,TFS 也不会将合并历史记录为 AcceptYours。
      • 谢谢。我找这个已经很久了。
      猜你喜欢
      • 2010-11-27
      • 2016-09-28
      • 2011-10-20
      • 2016-02-02
      • 2012-04-08
      • 2010-10-24
      • 2023-03-10
      • 2015-11-18
      • 1970-01-01
      相关资源
      最近更新 更多