gpt4 book ai didi

tfs - 合并时列为待更改的文件没有更改吗?

转载 作者:行者123 更新时间:2023-12-03 08:45:31 24 4
gpt4 key购买 nike

我们已经多次发生了这种情况,如果我们认为这不只是fl幸的话。当我们完成分支后的合并时,还有更多的更改,而应该是这些更改。因此,大多数显示为未决更改的文件从未更改(在大多数情况下,分支或基础都没有更改)。当我比较它们时(我无法比较使用),没有区别。我还没有遍历所有未更改的文件,但是在大多数情况下,似乎它们被标记为[merge],而实际上已更改的文件被标记为[merge,edit]

在一种情况下,我们可能更改了大约100个文件,而待处理的更改显示超过22,000个更改。我们尝试过一次检查它们,认为tfs足够聪明,可以知道哪些文件已更改,哪些未更改。但是它 checkin 了所有文件。有谁知道发生了什么事以及如何解决?

我们正在运行带有Update1的TFS 2012
每个人都在使用带有更新1的Visual Studio 2012。

最佳答案

关于您更改了100个文件的问题,TFS希望合并几千个文件。这通常是由renaming(或先删除再取消删除或移动)分支引起的。这伤了我几次,我感到你的痛苦。

我能提供的最好建议是,一旦创建了分支,就不要管它了。不要移动它,不要重命名它。如果分支的位置或名称错误,请继续使用它,直到需要删除分支并创建新分支为止。

由于TFS 201x在后台工作的方式,更改分支的根文件夹可以有效地将其变成另一个对象。当您尝试再次合并分支时,TFS将执行无基础合并,这实际上意味着分支中的所有文件似乎都已更改(即使它们没有更改)。这是TFS的新行为,较旧的版本(2005/2008) )不要遭受这个问题的困扰。

例如您有一个如下的团队项目
$/TeamProject/Main
然后,您从“主”创建一个名为“Dev”的分支
$/TeamProject/Dev
您可以随意合并,而且应该不会有任何问题。然后,您决定当您有多个开发分支时,文件夹结构可能会有些困惑,因此您在团队项目的根目录下创建了一个名为“开发”的文件夹,并将开发分支移入该文件夹
$/TeamProject/Development/Dev
现在,在幕后行了,那就是重命名和删除,在$/TeamProject/Dev下仍然存在旧的dev分支(您可以通过转到“工具”,“选项”,“源代码控制”,“Team Foundation Server”来看到此内容,然后检查显示为“在源代码管理中显示已删除的项目”的设置

名为$/TeamProject/Development/Dev的文件夹实际上是一个崭新的东西!因此,它与“Main”没有合并关系。尽管IDE会显示出一种令人困惑的关系,但实际上它并不存在。第一次从$/TeamProject/Development/Dev合并到$/TeamProject/Main时,TFS将执行偷偷摸摸的无基础合并以建立分支关系。

如果重命名分支,也会发生相同的事情(旧的分支将被删除,而新的分支将在后台被创建)

This Blog详细介绍

关于tfs - 合并时列为待更改的文件没有更改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15619885/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com