How to unshelve a shelveset into another branch with TFS?

1 minute read

If you have made a shelve in one branch, and want to unshelve it to another branch.

This article will be helpful for you.

There are some steps to follow:

1. You need to install TFS Power tools in your machine. Or else, you can’t use tfpt command.

2. You need to ensure there is no pending changes in all branches in the workspace.

If not, you may get possible errors like:

  • Unable to determine the workspace
  • An item with the same key has already been added

3. And it’s better to delete cache in TFS: C:\Users[USERNAME]\AppData\Local\Microsoft\Team Foundation\4.0\Cache

4. Go to the target branch name

Example :

c:\>d:
d:\>cd D:\wks\XXX\LOCAL_TARGET_BRANCH

5. Run tfpt unshelve command in target branch mapped directory

Example:

D:\wks\XXX\LOCAL_TARGET_BRANCH>tfpt unshelve /migrate "SourceBranchShelveName" /source:"$/PATH/SOURCE_BRANCH" /target:"$/PATH/TARGET_BRANCH" 

6. Resolve conflicts

There may have some conflicts in the unselve, you can choose auto merge all or resolve the conflicts one by one.

Hope this helps! Enjoy coding!

References:

http://geekswithblogs.net/TarunArora/archive/2011/06/06/unshelve-shelveset-created-from-one-branch-to-another.aspx

http://benjii.me/2014/04/move-shelveset-to-different-branch-in-tfs/

SUN Jiangong

SUN Jiangong

A senior .NET engineer, software craftsman. Passionate about new technologies.