强制TFS检测更改

Ili*_*a G 38 tfs tfs2012

看起来这应该是非常简单的事情,但我找不到如何做到这一点......

我使用我编写的脚本对在repo中传播的几个文件进行了更改.问题是TFS在其无限智慧中并不认为文件已经改变.除了手动查找每个文件并单击"checkout for editing"之外,还有什么方法可以告诉TFS重新扫描所有内容并检测更改?

Tor*_*edt 20

文件夹比较(文件 - >源代码控制 - >比较...)应该可以解决问题.选择从哪里开始比较的顶级文件夹,然后选择与最新版本进行比较.结果将显示已更改的文件,以及是否已签出.

  • 有趣的是,当我在VS 2012中进行此文件夹比较时,它说TF10108:源代码控制无法将文件与文件夹进行比较.选择两个文件,然后重试. (3认同)

mhu*_*mhu 17

TFS有一个"Reconcile"命令.有关完整答案,请参阅/sf/answers/1600247211/.


Sil*_*ger 10

本地工作区

你需要使用一个local Workspace.以下是管理工作区的方法:

visualstudio.com:"创建和使用工作区".

添加或编辑工作区时,单击Advanced >>.然后你设置Location:Local.

现在,当您的脚本或其他任何内容更改Visual Studio外部的文件时,您的工作区会changes自动检测到.

它还可以检测adds或者deletes您必须Pending Changes手动将它们包含在您的链接下Excluded Changes

检测到在团队资源管理器中的待定更改下添加

但要小心.当addsdeletes得到检测,将它们添加到您Pending Changes的文件不会自动纳入到项目中.所以你可能会检查它们TFS,但它们没有列在Solution Explorer.

Matt Burke解决了这个问题:

mattburkdev.com:"在Visual Studio中自动包含文件夹中的所有文件"

要编辑项目文件,请右键单击项目Unload Project,然后再次右键单击它并选择Edit.编辑项目文件后保存并关闭它.然后右键单击并选择Load Project.

但是,您还需要小心,因为项目只在您加载项目时搜索这些文件夹中的新文件,而不是在项目打开时.因此,当在Visual Studio外部添加某些文件时,您只需重新加载项目.


服务器工作区

但是如果由于某种原因你不得不坚持使用服务器工作区,我还有另外一个技巧:

首先: 查看可能有待更改的所有文件(更好地检查许多文件).然后转到团队资源管理器 - >待定更改并选择刚刚签出的所有文件.然后选择"撤消更改".在此之后,您会收到一条消息"确认撤消结帐".此消息仅弹出文件,实际上已更改!每个文件按"NO"或"No to All".

最后:在挂起的更改中,除了具有挂起更改的文件之外,所有文件都将从列表中删除.


我希望我可以帮助某人,只要我不得不^^,你就不必搜索这个解决方案


hen*_*lle 5

如果在脱机时发生了任何更改,则可以转到文件>源代码管理>联机,然后将检查所有文件的修改。