38
votes

I am new to Team Foundation Server, so i was wondering what does "Shelve Pending Changes" does in Team foundation server. I am using TFS of project on Codeplex.

1

1 Answers

40
votes

Shelve Pending Changes stores your code changes on the server but doesn't commit them to the branch. Here are some reasons I've used it:

  1. To save changes but undo locally when I'm not ready to commit changes but I need to make an emergency bug fix on the same branch.
  2. To store code for code reviews prior to committing. Other people can check out or view your shelved changes.
  3. To store changes that are ready for committing when the changes aren't approved yet.

One thing to know about shelving changes: When you unshelve, you get the file as-is. If someone else has modified the file after your shelve, no merge happens. So I don't recommend shelving changes long-term.