似乎这应该是非常简单的事情,但我找不到如何做到这一点......
我使用我编写的脚本对回购中的几个文件进行了更改。问题是TFS在其无限智慧中并不认为文件已经改变。除了手动查找每个文件并单击“checkout for editing”之外,有没有办法告诉TFS重新扫描所有内容并检测更改?
答案 0 :(得分:19)
文件夹比较(文件 - >源代码控制 - >比较...)应该可以解决问题。选择从哪里开始比较的顶级文件夹,然后选择与最新版本进行比较。结果将显示已更改的文件,以及它们是否已签出。
答案 1 :(得分:16)
TFS有一个"协调"为此命令。有关完整答案,请参阅https://stackoverflow.com/a/22860674/932282。
答案 2 :(得分:8)
您需要使用local Workspace
。以下是管理工作区的方法:
visualstudio.com: "Create and work with workspaces"
添加或编辑工作区时,单击Advanced >>
。然后,您将Location:
设置为Local
。
现在,当您的脚本或其他任何内容更改Visual Studio外部的文件时,您的工作区会自动检测到changes
。
它还会检测adds
或deletes
,但您必须使用Pending Changes
Excluded Changes
中
但要小心。检测到adds
或deletes
并将其添加到Pending Changes
后,这些文件不会自动包含在您的项目中。因此,您可以将其签入TFS
,但它们并未列在Solution Explorer
下。
Matt Burke解决了这个问题:
mattburkdev.com: "Automatically Include All Files in Folder in Visual Studio"
要编辑项目文件,请右键单击项目,选择Unload Project
,然后再次右键单击它并选择Edit
。编辑项目文件后保存并关闭它。然后右键单击并选择Load Project
。
但是,您还需要小心,因为项目只在您加载项目时搜索这些文件夹中的新文件,而不是在项目打开时。因此,当某些文件在Visual Studio外部添加时,您只需重新加载项目。
但如果由于某种原因你不得不坚持使用服务器工作区,我还有另一个技巧:
<强> FIRST:强> 查看可能有待更改的所有文件(更好地查看许多文件)。然后转到团队资源管理器 - &gt;待更改并选择刚刚签出的所有文件。然后选择&#34;撤消更改&#34;。在此之后,您会收到一条消息&#34;确认撤消结帐&#34;。此消息仅弹出文件,实际上已更改!按&#34;否&#34;对于每个文件或&#34;否为全部&#34;。
最终:在待处理的更改中,所有文件都会从列表中删除,但有待更改的文件除外。
我希望我可以帮助别人,只要我不得不^^
你就不必寻找这个解决方案答案 3 :(得分:4)
如果您在离线时发生了任何更改,可以转到文件&gt;源控制&gt;转到在线状态,将检查所有文件以进行修改。
答案 4 :(得分:2)
如果以上都不起作用,您也可以尝试通过转到文件重新绑定项目 - &gt;源控制 - &gt;高级 - &gt;更改源代码管理。
答案 5 :(得分:0)
答案 6 :(得分:0)
当我将项目从一台PC移动到另一台PC时,我遇到了这个问题。
解决方案是删除TFS在解决方案文件夹中创建的临时文件。
删除da.Fill(table);
if(table.Rows.Count == 0)
{
MessageBox.Show("No Records with given ID ...");
return;
}
//Rows present and thus do processing
和隐藏.vs
文件夹。
如果没有运气,在您的本地PC上将您的解决方案文件夹复制到另一个,删除解决方案中的所有文件,从TFS服务器获取最新版本,然后从复制的文件夹只获取必要和编辑的文件和把它们放回解决方案文件夹(这将覆盖一些文件)。
毕竟不要忘记检查项目映射,如果一切正常,请尝试右击解决方案,然后“添加到源代码管理”。选项。
答案 7 :(得分:0)
放置在TFS文件夹中的Dtsx文件未被识别。
选择“上传现有文件”。然后,您可以将.dtsx文件拖放到窗口中,然后单击“确定”。
最后,您必须执行“提取”操作才能在其中添加文件。然后,您需要执行“拉”操作。最后,您可以将更改提交到远程分支。