查找未签入回购的文件

Finding files that are not checked into repo

有没有一种简单的方法可以在我的 Visual Studio 项目中找到未签入我的存储库的文件?

过去,有时我从存储库中获取我的代码库时才意识到某些文件 - 由于某种原因 - 尚未签入存储库。

我最近买了一台新笔记本电脑,并将我的应用程序代码下载到我的新机器上。当我 运行 在新笔记本电脑上使用该应用程序时,我现在遇到错误,但在旧笔记本电脑上 运行 完全没问题。我的第一个想法是两台机器之间存在配置差异,所以我将代码下载到旧机器上的一个新文件夹中,并开始出现与我在新笔记本电脑上遇到的错误相同的错误。如果我 运行 旧机器上原始文件夹中的应用程序,它 运行 没问题。

这让我觉得我在回购和原始文件夹中的代码之间可能存在一些差异。结果,如果我从存储库中获取代码,就会出现错误。如果我尝试在旧笔记本电脑上签入原始文件夹中的代码,Visual Studio 告诉我没有什么可签入的。

那么,有没有一种简单的方法可以让我查看是否有任何文件未签入我的旧笔记本电脑的存储库中?

顺便说一句,我在 运行宁 Visual Studio 2019 年——最新的 updates/patches——我的存储库在 Azure DevOps 上并使用 TFVC。

运行 tf vc status /format:detailed /recursive 来自工作区根目录中的 Visual Studio 开发人员命令行应该可以让您很好地了解未签入的文件和有未决更改的文件。

C:\Users\JesseHouwing\source\Workspaces\xxx>tf vc status /format:detailed /recursive
-----------------------------------------------------------------------------------------------------------------------
Detected Changes:
-----------------------------------------------------------------------------------------------------------------------
$/xxx/test.txt
  User       : Jesse Houwing
  Date       : zaterdag 27 juli 2019 21:20:00
  Lock       : none
  Change     : add
  Workspace  : SHARKIE
  Local item : [SHARKIE] C:\Users\JesseHouwing\Source\Workspaces\xxx\test.txt

0 change(s), 1 detected change(s)

除非您指定 /nodetectchanges 标志,否则它应该会自动检测文件。

或者,如果您的 .tfignore 文件指定得当,您可以 运行 tf vc add * /recursive 自动为当前不受版本控制的所有文件创建待定更改。 If needed, edit your tfignore file before running the add command。添加 /noignore 以绕过忽略文件,但这可能会添加 binobj 以及 packages 文件夹,请注意。


tf.exe 隐藏在 Visual Studio 的深处,最简单的访问方法是使用开发人员命令提示符:

我的安装已经放在这里了:

C:\Users\JesseHouwing\source\Workspaces\xxx>where tf
C:\Program Files (x86)\Microsoft Visual Studio19\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TF.exe