如何在Visual Studio 2015中查找不属于源代码管理的文件

时间:2017-02-16 19:19:54

标签: visual-studio-2015 tfs

我今天对文件进行了一些相当复杂的更改,但事情在应用程序中停止了。我意识到这是因为我不小心删除了一些我不是故意的代码。没什么大不了的,我可以将我当前的代码与最后签入的副本进行比较,找到我删除的代码......

除了文件不是IN源控件。该项目的其余部分是。但由于原因不明,这个文件,绝不是一个新文件,不存在。它没有出现在未决的变化中。由于某些原因,VS从未检查过它。(我很幸运,我没有退出VS,并且能够取消删除足以获得原始代码)。

有没有办法,然后手动逐个检查几千个文件,告诉项目/解决方案中的哪些文件不受源代码管理?

或者除此之外,是否有一种方法类似于“获取最新”但反过来?基本上,我希望递归地将解决方案中的所有内容添加到源代码控制中(即使它应该全部都在源代码控制之下)。

1 个答案:

答案 0 :(得分:2)

1)使用本地工作区进行TFS

如果您的TFS工作区设置为本地工作区(有关此含义的说明,请参阅this blog post),运行tf status将显示检测到的更改列表。这将是从磁盘添加或删除的任何文件,而不是明确地添加到源代码控制。

本地工作空间还有一些其他细节,例如能够在没有设置只读位的情况下执行大部分编辑,并且无需连接到TFS服务器来签出文件。并且它确实会产生一些开销来在本地跟踪所有这些变化,因此需要进行权衡。博客文章涵盖了大部分细节。

您可以使用以下步骤在服务器和本地之间切换工作区:

  1. 打开工作区设置(通过VS或运行tf workspace
  2. 展开高级设置
  3. 更改标记为位置的下拉列表(应允许本地或服务器)
  4. 此过程需要一段时间才能运行,因为它会创建本地缓存或将缓存状态同步回服务器(具体取决于您更改它的方式),但您不必创建新工作区。

    2)使用Source Control Explorer

    VS中的Source Control Explorer窗口在其工具栏上有一个按钮,用于比较文件夹。这允许您将源代码管理中的文件夹与磁盘上的文件夹进行比较,包括仅存在于任一侧的文件或具有差异的文件。