How do I rollback a TFS check-in?

2019-01-10 04:10发布

I'd like to rollback a change I made recently in TFS. In Subversion, this was pretty straightforward. However, it seems to be an incredible headache in TFS:

Option 1: Get Prior Version

  1. Manually get prior version of each file
  2. Check out for edit
  3. Fail - the checkout (in VS2008) forces me to get the latest version

Option 2: Get TFS Power Tools

  1. Download Team Foundation Power Tools
  2. Issue rollback command from cmd line
  3. Fail - it won't work if there are any other pending changes

Option 3: Manually Undo Changes

  1. manually undo my changes, then commit a new changeset

Question

How do I rollback to a previous changeset in TFS?

17条回答
该账号已被封号
2楼-- · 2019-01-10 04:56

Rollback has been moved from tfpt.exe to tf.exe, the Team Foundation Version Control Tool.

TF - Team Foundation Version Control Tool, Version 10.0.30319.1
Copyright (c) Microsoft Corporation.  All rights reserved.

Rolls back the changes in a single or a range of changesets:
tf rollback /changeset:changesetfrom~changesetto [itemspec] [/recursive]
            [/lock:none|checkin|checkout] [/version:versionspec]
            [/keepmergehistory] [/noprompt] [/login:username,[password]]

tf rollback /toversion:versionspec itemspec [/recursive]
            [/lock:none|checkin|checkout] [/version:versionspec]
            [/keepmergehistory] [/noprompt] [/login:username,[password]]
查看更多
一夜七次
4楼-- · 2019-01-10 04:56

The solution above is for TFS2008. TFS2010 has built-in rollback feature. see this article for details.

查看更多
男人必须洒脱
5楼-- · 2019-01-10 04:58

Your solution #1 will work: 1. manually get prior version of each file

  1. check out for edit

  2. Checkin the file and Ignore server changes when prompted.

The reason why it failed for you is because you must have the "Get latest version of item on check out" option turned on. Turn this option off by going to Tools...Options...Source Control...Visual Studio Tema Foundation Server and unchecking "Get latest version of item on check out"

Cheers

查看更多
Anthone
6楼-- · 2019-01-10 04:58

If you did 1 check-in and you just want to undo it, that has a changeset # associated with it. Do a history on the folder in question to see the bad changeset. Open it up to see the details (all files changed, etc).

I believe that you can restore or undo a changeset from that screen, but my Visual Studio just crashed when I tried to do this. /sigh -- I definitely share your pain.

Where do I downmod TFS on this site?

查看更多
我只想做你的唯一
7楼-- · 2019-01-10 04:59

Not having a rollback option is actually feature of TFS ;)

To rollback changes:

  1. Check out whatever specific version of changes you want
  2. Edit->Select All->Copy the text in the file
  3. Checkout whatever version of the file is on the server
  4. Paste over the file and check in.

And now all your intermediate changesets before the rollback are saved as well! What a great feature!

查看更多
登录 后发表回答