关于您更改了 100 个文件并且 TFS 想要合并数千个文件的问题。这通常是由重命名(或删除然后取消删除或移动)分支引起的。这已经咬了我几次,我感觉到你的痛苦。
我能给出的最好建议是,一旦你创建了一个分支,就不要管它。不要移动它,不要重命名它。如果分支的位置或名称错误,请继续使用它,直到删除分支并创建一个新分支。
由于 TFS 201x 在幕后工作的方式,更改分支的根文件夹有效地将其转换为不同的对象。当您尝试再次合并分支时,TFS 将执行无根据的合并,这实际上意味着分支中的所有文件似乎都已更改(即使它们没有更改)这是新行为,旧版本的 TFS (2005 / 2008 ) 不要遇到这个问题。
例如,您有一个看起来像这样的团队项目
$/TeamProject/Main
然后,您从“Main”创建一个名为“Dev”的分支
$/TeamProject/Dev
您可以随意合并,应该没有任何问题。然后你决定当你有几个开发分支时文件夹结构可能会有点混乱,所以你在团队项目的根目录下创建一个名为“Development”的文件夹并将开发分支移动到这个文件夹中
$/TeamProject/Development/Dev
好的,现在在幕后移动是重命名和删除,旧的 dev 分支仍然存在$/TeamProject/Dev
(你可以通过转到“工具”、“选项”、“源代码控制”、“团队基础服务器”然后检查显示“在源代码管理中显示已删除项目”的设置
所谓的文件夹$/TeamProject/Development/Dev
其实是一个全新的东西!因此它与“Main”没有合并关系。令人困惑的是,虽然 IDE 会显示一种关系,但实际上它并不存在。第一次从 TFS 合并时$/TeamProject/Development/Dev
,$/TeamProject/Main
将执行一个偷偷摸摸的无根据的合并来建立分支关系。
如果你重命名一个分支也会发生同样的事情(旧的分支将被删除,并在幕后创建一个新的分支)
这个博客更详细