HOWTO:修复恢复后不同步的 TFS 工作区

HOWTO: Fix an out-of-sync TFS workspace after a restore

由于勒索软件病毒,我们不得不恢复几天前制作的 TFS 服务器代码存储库的备份映像。

幸运的是,我的本地工作区中有一个更新副本,其中包含灾难发生前签入的最新更改。还原的快照没有此最新更改。所以现在我本地工作区中的一些文件比恢复快照中的文件更新,我的意思是我的本地工作区有一些文件包含恢复快照中不存在的更改。此外,尽管我本地工作区中的某些文件与快照中的文件不同,但它们在团队资源管理器中未标记为已签出。

由于最新的更改在我的本地工作区中(而不是在快照中,因为它们在恢复过程中丢失了)我想将我的本地工作区签入到当前恢复的快照中,以便我的本地工作区得到与快照(TFS 服务器代码存储库)完全相同。我该怎么做?

我想在我的本地工作区上执行“获取最新版本”,以便将其与快照(代码存储库)同步。我知道“获取最新版本”会发现我的本地工作区和快照之间的差异(和需要解决的冲突),然后它会自动签出必要的文件,以便我稍后查看和签入它们。在这种情况下,这是正确的处理方法吗?我对吗?另外,据我所知,执行“获取最新版本”不会删除我工作区本地的更改,对吗?

看看Reconciling workspaces. There is also a command-line equivalent if there are a lot of changes and you seem to want to take your workspace as-is: tf resolve

Is that the correct way to proceed in this situation? Am I right? Also, as far as I know, doing a "Get Latest Version" don't delete the changes locally in my workspace, right?

答案是肯定的。这确实是一个可行的方案。但是当我们有很多文件时,这种方法似乎会花费很多时间。我们需要一个一个手动修改必要的文件。

由于最新的更改在您的本地工作区中,您可以尝试创建一个新工作区以将最新版本与快照(代码存储库)同步,然后将本地工作区中的所有文件复制到新工作区并替换相同的文件。

在这种情况下,本地工作区中修改的文件存在于新工作区中,然后我们可以将这些更改提交并推送(同步)到快照(代码存储库)。