如何在团队基础服务器上还原更改集?

11

我是第一次接触Team Foundation服务器,有人在前一晚提交了不应该提交的更改。我需要撤销这些更改集,以便当其他人获取最新版本时,他们不会得到这些更改。

我看不出有简单的方法来做到这一点,有没有人有相关经验?


你在使用哪个版本的TFS?显然,根据MSDN上的资料,有些版本比其他版本更容易。请参阅http://msdn.microsoft.com/en-us/library/dd380776.aspx。 - villecoder
有没有使用TFS 2008实现这个的方法? - Maggie
5个回答

6
无法真正回滚更改集。您需要执行以下操作:
  1. 找到要回滚的更改集编号。
  2. 对所有需要回滚的文件执行检出。
  3. 执行“获取特定版本”(与“获取版本”不同),指定更改集编号并选择选项,以用更改集中的内容覆盖本地副本。
  4. 执行检入操作,将覆盖服务器上的内容。
您需要为每个文件单独执行此操作。在此期间,您可以查看 TFS Power 工具,它具有一种回滚功能,可以自动化上述手动步骤。
祝您好运!

3

你完全不能通过Visual Studio界面来完成这个吗? - Chev
我认为在TFS 2008中,您必须安装TFS Power Tools,并将其移动到2010年的基本TFS命令。这里有一个类似的问题(https://dev59.com/iXVD5IYBdhLWcg3wRpeX),其中包含大量信息。 - Paul G
2
请注意Rollback的使用(无论是在2008年中的Power Tools还是2010年中的命令行)。该功能不是“回滚到”一个变更集。相反,TFS将尽最大努力从变更集中回滚更改,然后重新整合该变更集中的任何更改。 如果这不是您想要的结果,可能会出现问题。 - Robaticus

1

通过一个漂亮的界面,在VS2010中您可以轻松地完成这个操作,就像使用Tortoise SVN一样,只要您也在后台使用TFS 2010(在尝试以下步骤之前,请确保这是正确的,否则它将不起作用):

获取Team Foundation Server Power Tools December 2011

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

然后在VS2010中转到 查看(View) > 其他窗口(Other Windows) > 源代码控制资源管理器(Source Control Explorer)

在源代码控制资源管理器窗口中右键单击项目并选择"回退(Rollback)" - 这会给您展示如this article所示的回滚对话框(从标题为“现在UI中可用的回滚”开始阅读,这将为您提供所有剩下的详细信息,使您朝着正确的方向前进)。界面有点笨拙,但应该能胜任工作。


0
在团队资源管理器中右键单击您的代码,然后单击查看历史记录,然后逐个选择您的文件并右键单击文件,选择获取特定版本,然后会打开一个模型窗口。将类型组合框的值从最新版本更改为变更集编号,并将最新代码还原到以前的变更集。
希望这可以帮助到您...

0

你可以通过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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接