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条回答
一纸荒年 Trace。
2楼-- · 2019-01-10 04:42

Ahh, just found this CodePlex Article on using TFPT.exe (power tool) to rollback a changeset.

Hope this helps you out.

查看更多
Deceive 欺骗
3楼-- · 2019-01-10 04:44

Install the latest version of the TFS Power Tools (August 2011), and you can just right-click on a change set and select "Rollback Entire Changeset". It doesn't get much easier than that.

It's available here: http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f

It's hinted at under Team Explorer Enhancements on the above page:

New in this release is the ability to [..] easily rollback changes in version control.

查看更多
欢心
4楼-- · 2019-01-10 04:47

Another option is TFSPlus. This Visual Studio Addin adds (among others) Get This Version command to the history window. If you have the file checked out it will replace it with that version. If you do a check in afterwards you will effectively do a rollback to that version.

It works on individual files instead of complete changesets, though.

查看更多
够拽才男人
5楼-- · 2019-01-10 04:50

Get Specific Version

In Version Type drop down select Type as Changeset

Use Changeset ... button to find your Changeset or just type in, if you know this number.

After you have the specific Changeset.

Check Out

Check In

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

None of these solutions quite worked for me Dave Roberts solution was the closest to what I actually got working. I do not have Get latest version of item on check out enabled, however it seems to be a server policy.

My solution to this is to check the file out for edit, get specific version, then when the conflict is detected use the merge tool (and manually merge none of the changes) so that the file is in the condition it was.

I was going to go with compare with the specific version and copy the entire file then just paste it over the top of the old one.

Still there should be an easier way to do this!

查看更多
地球回转人心会变
7楼-- · 2019-01-10 04:54

I think that the Team Foundation Power Tools is the way to go. If there are pending changes you can move them to a shelveset then undo or check in all pending changes before running the rollback command. See http://www.codeplex.com/VSTSGuidance/Wiki/View.aspx?title=How%20to%20undo%20a%20check-in&referringTitle=Source%20Control%20Practices%20at%20a%20Glance for more information.

查看更多
登录 后发表回答