1

我的目标是让我的代码的“最新版本”成为现有变更集的代码。我选择回滚,并回滚到该特定变更集,但我的代码不会更改以反映变更集的代码。此外,我为该特定变更集尝试了“获取特定版本”,当我的本地代码更改为变更集的代码时,TFS 中显示“最新”的列对于已恢复的文件显示“否” - 请参见下面的屏幕截图。下面的截图是“获取特定版本”的结果:

在此处输入图像描述

问题:“获取特定版本”和“回滚”有什么区别?如果我的目标是本质上将我当前的代码库从现有的变更集更改为代码库,并将其作为“最新版本”(出于 TFS 的原因 - 我正在尝试使用 TFS 部署到我们的 Web 服务器,但是因为TFS“没有最新版本” - 见上面的截图,它使用当前的最新版本,这不是我想要它使用的 - 我希望它从以前的变更集的代码库中部署),我怎么能去做?

4

2 回答 2

3

如果您“获取特定版本”,则您将本地工作区版本更改为服务器上先前版本的版本。这不会影响服务器上的最新版本。(当然,您可以检查该路径并将其签入,这影响服务器上的最新版本。)

如果您“回滚”,您正在更改服务器版本。根据您执行此操作的方式,您可能不会更改本地工作区版本。如果您执行“获取最新版本”,您将同步到该最新版本。

于 2013-10-16T13:39:09.917 回答
2

如果您只是想构建/部署旧版本的代码,默认构建模板允许您指定变更集编号(或日期)并强制它使用旧版本的代码。

如果您确实需要更改 TFS 中的“当前”代码,那么您可以进行回滚。但是听起来你对 Rollback 的理解是不正确的。它不是“回滚到这个变更集”,而是“回滚这个变更集中包含的变更”。

因此,如果您的最新版本是 v9,并且您想回到 v5,则需要回滚变更集 v6-9。您可以突出显示所有 4 个变更集,并在一次操作中将它们全部回滚。然后办理入住。

与尝试使用旧版本然后签出/签入相比,这将提供更好的体验。历史记录将更准确地反映您所做的事情,并且冲突解决对话框不会尝试做错误的事情(就像您执行 get then check-in/out 一样)。

于 2013-10-16T15:41:33.453 回答