TFS:查看所有未版本控制的文件

时间:2011-08-19 18:44:06

标签: visual-studio-2010 tfs tfs2010

如何使用TFS 2010和VS 2010查看所有未版本控制/未受控制的文件?

我当前遇到的问题是在使用上下文菜单(MVC3)创建新控制器和视图之后我决定通过撤消挂起更改窗口中的添加来回滚所有这些文件。我发现文件不再在TFS中,但仍在磁盘上。我想查看当前在磁盘上但未由TFS版本化的文件。

这在Subversion和Git中是微不足道的(除非被告知要明确忽略它们,否则这些文件总会出现)但是我没有看到在TFS中查看这些文件的选项 - 它们不会出现在我的Pending Changes视图中。我是TFS的新手所以我认为我只是缺少一些东西。

4 个答案:

答案 0 :(得分:17)

如果您尝试确定项目文件夹中不在TFS中的文件系统上存在的所有文件,

  1. 打开visual studio
  2. 打开团队资源管理器(ctrl-w,m)
  3. 进入“源代码管理”
  4. 导航到您要在其中找到未版本控制文件的文件夹。
  5. 在顶部栏中有一个带有两个文件夹和两个放大镜的图标,提示“比较文件夹”

    enter image description here

  6. 将“源路径:”与其本地版本的“目标路径:”进行比较(可能是服务器版本)。

  7. 它将突出显示这些文件夹中的所有差异。右侧(本地)列中存在的任何文件都是当前未存储在TFS中的文件。

答案 1 :(得分:7)

当您为其撤消挂起的添加时,Team Foundation Server不会删除文件 - 这是为了防止可能的数据丢失。 (例如,您可能希望在本地创建文件,但将其签入Team Foundation Server - 因为Visual Studio和Eclipse会自动将此文件作为添加项暂存,如果要删除的话取消添加后的文件然后就无法在本地生成服务器上不存在的文件。)

Team Foundation Server power tools必须执行不同的操作,以帮助您将本地工作区与服务器同步。

如果磁盘上的文件不在服务器上并且您想要更新它们(将它们推送到服务器),则可以使用tfpt online。这将检测本地添加或修改的所有文件,并创建新的挂起更改以更新服务器。如果您一直在与服务器断开连接并希望暂停这些更改,这将非常有用。

如果磁盘上的文件要删除,或者使用最新的服务器版本进行更新,则可以使用tfpt scorch。这将检测已在本地添加,修改或删除的任何文件,并允许您使用最新的服务器版本更新它们。如果您只想查看文件列表而不是实际自动采取任何操作,则可以使用tfpt scorch /preview预览模式。

答案 2 :(得分:2)

假设您已在路径中安装了PowerShell和tf.exe(来自TFS Explorer工具)和sed.exe(GNU Tool),您可以使用此脚本(PowerShell)来完成工作:

if((tf prop .) -ne $null) {
  tf folderdiff . /r /view:targetOnly /noprompt | sed -e '/^=\+$/,/^=\+$/d; /^$/d' | %{
    if(Test-Path $_) {
      rm $_ -Rec
    }
  }
}

答案 3 :(得分:0)

实际上,从文件系统中删除文件/文件夹的一种非常简单的方法是简单地删除(或移动)本地项目文件夹,然后从TFS执行“获取特定版本”。务必检查两个“覆盖”复选框。

然后它会删除当前存储在TFS中的所有内容。