我正在将Team Foundation Server 2010与Visual Studio 2010一起使用。
每当我在Visual Studio之外修改文件时,TFS似乎都没有检测到对文件所做的更改,因此在修改文件后不提供签入文件的选项。
如何解决这个问题?
答案 0 :(得分:149)
TFS有一个“Reconcile”命令:
答案 1 :(得分:47)
如果您在Visual Studio外部工作时与服务器建立了网络连接,则最好在编辑之前检查文件,使用tf命令行客户端或使用Windows资源管理器TFS Power Tools版本中提供的shell集成。 (此外,越来越多的其他工具采用TFS集成,使其自动化,但如果您只是使用记事本,则仍需要手动操作。)
当然,很多时候你在工作,而且你没有可用的网络连接,可以让你查看文件。
如果你知道你修改了哪些文件,你可以在Visual Studio中查看它们,然后你就可以重新检查它们了。
如果您不知道自己编辑了哪些文件,可以通过运行tfpt online
命令(也是Power Tools版本的一部分)来检测更改。这将找到已在本地修改的文件,并从服务器中检出这些文件。
答案 2 :(得分:35)
这对我有用,使用TFS Power Tools:
tfpt online /adds /deletes /diff /noprompt /recursive directory-name
(其中directory-name是要更新的目录的路径,否则它将检测整个TFS存储库中的更改)
如果你想知道在没有实际做出任何改变的情况下它会做什么,你可以通过添加/preview
开关强制它进行干运行。
答案 3 :(得分:14)
*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始终将其标记为已修改。
答案 4 :(得分:7)
试试这个。这是某种解决方法,但它有效:
就是这样。现在可以看到这些变化。
答案 5 :(得分:4)
还有另一个解决方案让TFS找出在Visual Studio之外发生了变化的文件:
此后,TFS将自动扫描解决方案以进行更改。
第一步可以通过多种不同方式实现。以下是一些:
答案 6 :(得分:3)
Visual Sourcesafe也是这样工作的,我让VSS或TFS注意到更改的方法是在Visual Studio中检查一次文件。
答案 7 :(得分:1)
打开源代码管理并转到您的TFS文件夹。右键单击该文件夹,然后选择“比较”。
请注意,您编辑的文件显示为红色。
我发现这比tfpt online
更好,{{1}}也可以获取非读取且未编辑的文件。
答案 8 :(得分:1)
我过去遇到过这个问题,当我的互联网停机并且我离线工作时,我的大多数更改都没有出现在团队资源管理器中。
遵循以下步骤: 首先,在解决方案资源管理器中,选择要重新调解的文件夹(对我来说,这是我的整个解决方案文件夹),然后选择比较... 点击修改过滤器,然后在过滤器文本框中输入:
*.cs;!obj\;!bin\;!packages\;
在此示例中,它将仅在搜索中包含C#文件并在文件夹中排除:bin,obj和packages。
请注意,待定更改列包含文件是否已标记为编辑,添加等等的信息...或者没有...
最后,我不确定为什么这里没有列出项目(在删除* .cs过滤器之后,仍然没有显示),所以重建解决方案以确保项目更新
+在解决方案中,点击上线的连接按钮(如果显示)。
答案 9 :(得分:0)
我发现在Visual Studio 2015中,当项目打开时,Visual Studio自己发现文件已经在外部进行了修改,并自动检查它们,而无需我做任何事情。以正常方式签入项目保存了外部修改。
答案 10 :(得分:0)