我的目标是让我的代码的“最新版本”成为现有变更集的最新版本。我选择回滚,并回滚到特定的变更集,但我的代码不会更改以反映变更集的代码。此外,我尝试了针对该特定变更集的“获取特定版本”,并且当我的本地代码更改为变更集的代码时,TFS中显示“最新”的列对于已还原的文件显示“否” - 请参见下面的屏幕截图。以下屏幕截图是“获取特定版本”的结果:
问题:“获取特定版本”和“回滚”之间有什么区别?如果我的目标是从现有的变更集基本上将我当前的代码库更改为代码库,并将其作为“最新版本”(出于TFS原因 - 我正在尝试使用TFS部署到我们的Web服务器,但是TFS“没有最新版本” - 请参阅上面的截图,它使用当前的最新版本,这不是我想要它使用的 - 我希望它从以前的变更集的代码库部署),我该怎么办?那样做?
答案 0 :(得分:3)
如果您“获取特定版本”,则您将本地工作区版本更改为服务器上以前版本的版本。这不会影响服务器上的最新版本。 (当然,您可以查看该路径并将其签入,将影响服务器上的最新版本。)
如果您“回滚”,则表示您正在更改服务器版本。根据您执行此操作的方式,您可能无法更改本地工作区版本。如果您执行“获取最新版本”,则将同步到最新版本。
答案 1 :(得分:2)
如果您只是想构建/部署旧版本的代码,则默认构建模板允许您指定变更集编号(或日期)并强制它使用旧版本的代码。
如果你确实需要更改"当前"在TFS中的代码,然后你可以做回滚。但听起来你对Rollback的理解是不正确的。它不会回滚到此变更集,而是回滚此变更集中包含的更改"。
因此,如果您的最新版本是v9并且您想要返回到v5,则需要回滚更改集v6-9。您可以突出显示所有这四个变更集,并在一次操作中将它们全部回滚。然后办理登机手续。
这比尝试使用旧版本然后退房/办理登机手续提供了更好的体验。历史记录将更准确地反映您所做的事情,并且冲突解决对话框不会尝试做错事(就像您在办理入住/退房时一样)。