TFS allows for shelving of your code while you are working on it. This is similar to branching, but you are not really creating a full blown branch, just storing a version of the file into a separate space with your changes before checking in the item into Source Safe.
Shelving and unshelving does not create a version like checkin/s with changesets and this way they are much simpler. In addition, users, other then creators of the shelvset, could remove shelvset or applying shelving changes to a source code after they are given proper right to do so.
For example, if one user created shelvset called MyChanges and now another user wants to remove it from the project, he/she needs to obtain “Administer shelved changes” permission and then run following command line
tf unshelve /move PendingChangesShelveset
This command will Unshelve pending changes and remove code from TFS. You can also view what files are affected by this operation.
We could also remove Shelvsets from TFS by executing following command line
tf shelve Shelveset1 /delete
This operation will remove all of the shelvset traces from the server.