我在待处理更改窗口中看到一个文件。我尝试将其与最新版本进行比较,但收到一条消息“文件相同”。如果这些文件相同,为什么该文件会出现在待处理更改窗口中?该文件有何变化?我能否配置TFS不列出相同的文件?
我在待处理更改窗口中看到一个文件。我尝试将其与最新版本进行比较,但收到一条消息“文件相同”。如果这些文件相同,为什么该文件会出现在待处理更改窗口中?该文件有何变化?我能否配置TFS不列出相同的文件?
如果文件发生更改并自动检出,最终文件内容又被更改回其原始状态,那么这是正常现象。此时您将看到有关比较结果的相同提示消息。
本博客文章介绍了一种不太直观的处理方式;在评论中,还有一个更好的建议,即通过TFS Power Tools通过命令行处理它。
tfpt uu
强大工具,而不是简单粗暴的“全部否定”解决方案。此提示仅适用于添加和修改编辑操作。例如:只有挂起重命名操作(而非重命名+编辑)将在UI中无需提示即被撤消。 - Edward Thomsontfpt uu /noget /r *
,必须从分支的根目录执行。尽管它正确地检测到了冗余更改并声称撤消它们,但我在VS和Check In对话框中仍然看到它们被签出,所以在我的情况下似乎是有问题的 :/ - Mike Chamberlainhttps://marketplace.visualstudio.com/items?itemName=TFSPowerToolsTeam.MicrosoftVisualStudioTeamFoundationServer2015Power
安装了 Power Tools,并执行了 tfpt uu /noget /r *
命令,许多更改被还原。已确认。最终,在待处理的更改中仍显示未修改的文件已更改。 - mihkov最近我刚将VS2010更新到了VS2013,但这个问题变得更糟了。 当你使用比较功能时,相同的文件根本不会弹出。我很讨厌这个问题,因为你必须仔细检查比较文件才能确定哪些文件真正进行了更改。
最终,我找到了一个解决方法:
在外部工具中添加“撤销未更改的签出”:
tfpt.exe
uu . /noget /recursive
$(SolutionDir)
运行此命令后,TFS将自动撤销所有文件中的冗余更改。
但这些文件仍保持签出状态,实际上它们已经被撤销并与最新版本相同。我认为这是TFS的一个bug。您只需要在解决方案资源管理器下的工具栏中单击刷新图标,这些文件将被刷新并显示正确的状态!
对我有用。
此外:
有时候我发现需要在 Developer Command Prompt 的开头提示符上运行该命令(会得到“未找到工作区”错误),然后再导航到工作区文件夹并在那里执行。如果直接进入正确的文件夹,将找不到该命令。(我希望能解决这个问题。)
无法确定工作区
。已经尝试更新工作区缓存,但没有成功。2小时后,我将放弃并检查未更改的文件以摆脱它们。 - C4d全部暂存
按钮,然后使用全部撤销暂存
解决了这个问题。
这解决了我在更改
部分中未更改的文件。非常简单易懂。
Visual Studio 2012 引入了一个名为 本地工作区 的新概念。
当工作区位置配置为本地时,它会放置原始文件的本地副本(就像 SVN / CVS 一样)。
然后它将自动从待处理更改中隐藏未更改的文件。
使用 TFS 源代码控制资源管理器 "编辑..." TFS 工作区,并将 "高级..." 设置位置从服务器更改为本地。
对我来说,调和工作区可以解决这些无效的待处理更改: