我将Team Foundation Server 2010与Visual Studio 2010结合使用。
每当我在Visual Studio外部修改文件时,TFS似乎都不会检测到对文件所做的更改,因此,在修改文件后,我无法选择签入文件。
如何解决?
我将Team Foundation Server 2010与Visual Studio 2010结合使用。
每当我在Visual Studio外部修改文件时,TFS似乎都不会检测到对文件所做的更改,因此,在修改文件后,我无法选择签入文件。
如何解决?
Answers:
如果您在Visual Studio之外工作时已与服务器建立网络连接,则最好使用tf命令行客户端或使用在TFS Power Tools版本中可用。(另外,越来越多的其他工具具有TFS集成功能,因此可以自动完成此操作,但是,如果您仅使用记事本,则仍然需要手动操作。)
当然,很多时候您都在工作,并且没有可用的网络连接来签出文件。
如果您知道自己修改了哪些文件,则只需在Visual Studio中将它们检出,然后就可以将它们检入。
如果您不知道自己编辑了哪些文件,则可以通过运行tfpt online
命令(也是Power Tools发行版的一部分)来检测更改。这将找到已在本地修改的文件,并从服务器中检出这些文件。
TFS为此具有“协调”命令:
另请参阅:协调文件夹之间的差异
使用TFS Power Tools,这对我有用:
tfpt online /adds /deletes /diff /noprompt /recursive directory-name
(其中directory-name是要更新的目录的路径,否则它将检测整个TFS存储库中的更改)
如果您想知道在没有实际更改的情况下将执行的操作,可以通过添加/preview
开关来强制其进行空运行。
/exclude:fld_name/*,filename
可用于排除不需要的文件交换..这halped我很多
tfpt online /deletes /noprompt /recursive directory-name
并且有成千上万个文件需要更改,因此必须撤消。但是我从来没有碰过这些,只是删除了文件夹。
*1- make changes outside of Visual Studio
2- go to Visual Studio and open Source Control Explorer
3- right click on the folder > "Check Out for Edit" > "Check Out"
4- right click on the same folder > "Undo Pending Changes..." > "Undo changes" > "No to All"*
我在分支机构上测试了此变通办法,这对我有很大帮助。但是只有新文件和新文件夹需要手动完成。
我建议在操作之前创建一个分支。它可以隔离您的手术时间。
注意:此技术还会对文件进行相同的清除,TFS始终将其标记为已修改。
试试这个。这是一种解决方法,但它可以工作:
而已。更改现在可见。
还有另一种解决方案,可以使TFS找出Visual Studio外部已更改的文件:
之后,TFS将自动扫描解决方案以进行更改。
第一步可以通过许多不同的方式来实现。这里有一些:
Visual Sourcesafe的工作方式也与此类似,而让VSS或TFS注意到更改的方法是在Visual Studio中将文件签出一次。
过去,当我的Internet断开并且无法进行脱机工作时,我曾遇到过此问题,并且大多数更改未出现在Team Explorer中。
请按照以下步骤操作:首先,在解决方案资源管理器中,选择要重新协调的文件夹(对我来说,这是我的整个解决方案文件夹),然后选择比较... 在修改过滤器中,在过滤器文本中,框中,您可以输入:
*.cs;!obj\;!bin\;!packages\;
在此示例中,它将仅在搜索中包含C#文件,而在以下文件夹中排除:bin,obj和packages。
请注意,“ 待更改 ”列中包含有关该文件是否标记为“编辑”,“添加”等...或没有标记的信息。
最后,我不确定为什么未在此处列出项目(删除* .cs过滤器后仍未显示),因此请重新构建解决方案以确保项目也进行更新
+在解决方案中,单击显示“在线”的连接按钮(如果显示)。