【问题标题】:How to handle missing 'added' files during check-in如何在签入期间处理丢失的“添加”文件
【发布时间】:2015-02-01 04:28:18
【问题描述】:

我在许多文件夹中都有一堆处于“已添加”状态的文件,这些文件被意外从文件系统中删除。如何轻松撤消它们或将它们全部转换为“删除”状态?我不希望每次手动撤消每个文件。

到目前为止我已经尝试过:

  • 在 Pending Changes 窗口中,对每个丢失的文件使用 Undo 命令是很乏味的。由于该窗口无法识别丢失了哪些文件,因此我必须将此窗口与文件资源管理器进行比较,并比较每个文件夹的内容。
  • this similar question 的答案不适用于我,因为我的文件处于“已添加”状态,因此将我的工作区与服务器进行比较无法识别这些丢失的文件。
  • 我查看了 TFS Power Tools 以查找可识别丢失文件的内容,但没有找到任何可以直接解决丢失文件的内容。
  • tfpt online 命令无法解决处于“已添加”状态的缺失文件。

【问题讨论】:

  • 投反对票,因为这个问题没有显示任何研究工作。您是否查看过任何相关的 SO 链接,例如 thisthis
  • @admdrew 是的,我做到了,但都没有帮助。一个涉及已添加的文件(我正在处理处于“已添加”状态的文件,因此该解决方案不适用),另一个涉及一次手动撤消每个文件,如上所述,我试图避免。

标签: tfs tfs-power-tools


【解决方案1】:

如果我没看错的话,在这种情况下,你的底层文件系统和 TFS 认为你的文件系统上的东西已经不同步了。

最简单,我知道如何纠正此问题的最佳方法是撤消所有更改,然后重做您实际需要的添加、删除和编辑。我知道有很多文件会很痛苦,但让我重申一下:我的意思是最好、最简单的方法,而不是有趣、轻松的方法(我认为不存在)! p>

在 Visual Studio 中对您的项目进行“清理”,然后删除源中的所有 bin/ 和 obj/ 文件夹。

然后撤消您项目的所有更改。

如果您使用的是 TFS Team Foundation Power Tools 在线功能。例如:

cd \dev\path\to\project\root\
tfpt online /adds /diff /deletes /recursive .

否则,如果您使用的是 TFS 2013,那么您可以使用内置的“reconcile”功能(找不到此功能的 Web URL,2010 文档不正确,请使用“tf reconcile /?”作为描述) :

cd \dev\path\to\project\root\
tf reconcile /adds /deletes /diff /recursive /noignore /promote .

【讨论】:

    【解决方案2】:

    安装 TFS Power Tools 后,在相应文件夹中的 VS 命令提示符下运行此命令:

    tf reconcile /deletes /diff /recursive /noignore /promote
    

    这将显示未决更改的列表。丢失的文件将全部以“删除”的新状态被选中。点击升级保存更改,然后再次尝试签入。

    这与 d3r3kk 的回答略有不同,但没有 /add 标志,这会导致选择的文件超出必要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-15
      • 1970-01-01
      • 2015-03-23
      • 1970-01-01
      • 2018-04-23
      相关资源
      最近更新 更多