Shelving a set of changes is very similar to checking in a set of changes. The major difference is that when you check in, your changes are shared by the rest of the team. When you shelve work, your changes are preserved in a private branch, and are not integrated with what the rest of the team is working on.
The option to shelve is available alongside the option to check-in, as shown in Figure 1 and Figure 2. Team Foundation Server also gives you a way to manage the shelves that you have created, as shown in Figure 3. There is no limit to the number of shelves that you can create.
Besides preserving your changes, shelves are a great way to transfer work between teammates. A shelf represents the exact state of your workspace – all of your added, modified and deleted files – so a teammate could un-shelve that work and have a workspace that is in exactly the same state as yours.
There is no limit to the number of shelves that you can create, and each shelf is automatically cleaned up after you un-shelve the work.