【发布时间】:2012-04-08 04:49:16
【问题描述】:
为什么 TFS 不想把我的旧文件还给我?
开发分支
总支
将 Dev 合并到 Main
编辑: 鉴于下面的第一个答案和更多调查,我相信我正在尝试完成整个分支覆盖。这可能吗?
【问题讨论】:
-
查看这个较旧的 SO 问题:stackoverflow.com/questions/7510089/…
标签: visual-studio-2010 tfs tfsbuild
为什么 TFS 不想把我的旧文件还给我?
开发分支
总支
将 Dev 合并到 Main
编辑: 鉴于下面的第一个答案和更多调查,我相信我正在尝试完成整个分支覆盖。这可能吗?
【问题讨论】:
标签: visual-studio-2010 tfs tfsbuild
这很好,我认为最好的办法是取消删除 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 合并更改,即使它认为它们之前已合并。我可能会说,使用“取消删除”是最不可能导致“奇怪的事情”在未来发生的方法。
【讨论】:
如果您删除了 Main 分支中的文件(从问题中不清楚,但“旧文件返回”有些暗示),从未删除文件的分支进行合并不会将它们带回来。它会将删除视为 Dev 分支中缺少的更改,因此将其保留在合并结果中。
如果您想取消删除文件,为什么不在主分支中执行此操作?
【讨论】: