HOWTO:还原后修复不同步的TFS工作空间

问题描述

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

幸运的是,我在本地工作区中拥有一个更新的副本,其中包含在灾难发生前已签入的最新更改。恢复的快照没有此最新更改。因此,现在我的本地工作区中的某些文件比恢复的快照中的文件新,我的意思是我的本地工作区中的某些文件包含了恢复的快照中不存在的更改。此外,尽管我的本地工作区中的某些文件与快照中的文件不同,但在Team Explorer中它们并未标记为已签出。

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

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

解决方法

看看Reconciling workspaces。如果有很多更改,并且您似乎想按原样使用工作空间,则还有一个命令行等效项:tf resolve

,

在这种情况下,这是正确的方法吗?我对吗?另外,据我所知,执行“获取最新版本”不会在我的工作区中本地删除更改,对吗?

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

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

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...