【问题标题】:Team Foundation Server merge not mergingTeam Foundation Server 合并未合并
【发布时间】:2012-04-08 04:49:16
【问题描述】:

为什么 TFS 不想把我的旧文件还给我?

开发分支

总支

将 Dev 合并到 Main

编辑: 鉴于下面的第一个答案和更多调查,我相信我正在尝试完成整个分支覆盖。这可能吗?

【问题讨论】:

标签: visual-studio-2010 tfs tfsbuild


【解决方案1】:

这很好,我认为最好的办法是取消删除 Main 分支中的文件和文件夹。为此,请进入“工具”、“选项”。展开“源代码管理”,选择“Visual Studio Team Foundation Server”并勾选“在源代码管理资源管理器中显示已删除的项目”

这将允许您选择已删除的文件并使用“取消删除”命令将它们取回。

但是,如果您真的想将更改从 dev 分支推送到主分支,那么您可以使用命令行强制 TFS 进行合并。

打开 Visual Studio 2010 命令提示符并导航到您的工作区

例如cd c:\tfs\MyLocalWorkspace

然后使用“tf”命令

tf merge $/TeamProject/Dev $/TeamProject/Main /recursive /force

这将强制 TFS 合并更改,即使它认为它们之前已合并。我可能会说,使用“取消删除”是最不可能导致“奇怪的事情”在未来发生的方法。

【讨论】:

  • 在阅读本文之前,我实际上已经对分支进行了回滚,正常合并,然后删除了多余的废话,这样我就解决了我的问题。但是您的解决方案适用于未来的场景,并且“显示已删除..”选项非常有用。谢谢。
【解决方案2】:

如果您删除了 Main 分支中的文件(从问题中不清楚,但“旧文件返回”有些暗示),从未删除文件的分支进行合并不会将它们带回来。它会将删除视为 Dev 分支中缺少的更改,因此将其保留在合并结果中。

如果您想取消删除文件,为什么不在主分支中执行此操作?

【讨论】:

  • 我从主分支中删除了文件,因为它有额外的文件和文件夹(来自较新的分支)在我合并旧分支时没有被删除。我想我可以删除它们并强制填充旧分支中的所有内容。
  • @TerryR -- 您需要按照 James Reed 的回答中所述从命令行进行强制合并
猜你喜欢
  • 1970-01-01
  • 2010-11-27
  • 2010-09-07
  • 1970-01-01
  • 2015-11-18
  • 1970-01-01
  • 2011-10-20
  • 2014-08-13
  • 2017-10-21
相关资源
最近更新 更多