问题 如何在团队基础服务器中还原变更集?


我是Team Foundation服务器的新手,有人提交了他们之前不应该做的更改。我需要恢复此更改集,以便当人们获得最新版本时,他们将无法获得这些更改。

我认为没有简单的方法可以做到这一点,有没有人有这方面的经验?


5508
2018-04-21 14:17


起源

您使用的是哪个版本的TFS?根据MSDN,显然有些版本比其他版本更容易。看到 msdn.microsoft.com/en-us/library/dd380776.aspx。 - villecoder
有没有办法使用TFS 2008来做到这一点? - Maggie


答案:


你无法真正回滚变更集。你要做的是:

  1. 找到您要返回的变更集编号。
  2. 执行签出所有需要回滚的文件。
  3. 执行获取特定版本(与获取版本不同)并指定变更集编号,并选择用变更集中的内容覆盖本地副本的选项。
  4. 执行签入,这将覆盖服务器上的内容。

您必须为每个文件单独执行此操作。在那里,您可以查看具有回滚功能的TFS Power工具,它可以自动执行上面列出的手动步骤。

祝你好运!


6
2018-04-21 19:56





我想你正在寻找rollback命令: 回滚文档


3
2018-04-21 15:27



警告:这是TFS 2010的命令。 - porusan
你能通过visual studio界面完成这项工作吗? - Chev
我认为在TFS 2008中你必须安装TFS Power Tools并在2010年将其移至基本TFS命令。这里有一个类似的问题(stackoverflow.com/questions/32607/...)有很多信息。 - Paul G
请小心使用Rollback(从2008年的Power Tools或2010年的命令行)。该功能不是“回滚到”变更集。相反,TFS将尽力从变更集中回滚更改,然后重新集成来自该变更集的任何更改。如果那不是你想的那样,那可能会很难看。 - Robaticus


您可以通过一个漂亮的界面在VS2010中轻松完成此操作,就像您使用Tortoise SVN一样,只要您在后端使用TFS 2010(确保在您尝试之前就是这种情况)以下,否则将无法工作):

得到 Team Foundation Server电动工具2011年12月

(安装后可能需要重新启动计算机)

然后在VS2010中转到View> Other Windows> Source Control Explorer

在Source Control Explorer窗口中右键单击该项目,然后选择“Rollback” - 这将为您提供回滚对话框 本文 (请阅读标题为“现在在UI中可用的回滚”一节中的内容,它会为您提供所有剩余的详细信息,以帮助您找到正确的方向)。 界面有点笨拙,但应该做的工作。


1
2018-02-29 21:55





右键单击团队资源管理器中的代码,然后单击视图历史记录,然后逐个选择文件,右键单击文件选择获取特定版本,然后打开模型窗口。将类型组合框值最新版本更改为更改集编号,并将最新代码还原为上一个更改集。

希望这可以帮助....


0
2018-04-21 18:12





您可以从Visual Studio命令提示符完成此操作,甚至不需要拥有代码的本地副本:

# create a temporary folder
mkdir some-workspace && cd some-workspace

# create a temporary workspace
tf workspace /new /collection:http://tfs-host:8080/tfs/some-collection some-workspace

# negate a specific changeset
tf rollback /changeset:some-changeset

# check in the rollback
tf checkin

# delete the temporary workspace
tf workspace /delete some-workspace

# delete the temporary folder
cd .. && rd some-workspace

0
2017-09-25 10:02