Visual Studio 2013, Git and Shelving

Need some help on how I can shelve uncommited changes in a Git repository using Visual Studio 2013. I come from PHPStorm where you can shelve uncommited changes on one branch, switch to another and unshelve.

However, I can’t find/see how this can be done in Visual Studio. Could someone shed some light on this issue?

  • For every commit, create an equivalent compiled commit in a separate repo or branch
  • Contributing to a repository on GitHub on a new branch
  • Django Private Project Git Repo - Open Source App Repo
  • Sharing frontend components between private projects
  • Error while pushing to github repo
  • How do I ignore this Eclipse file in Git?
  • Just to clarify why this may be needed: I might be working on branch X, and then figure that I am the wrong branch and I should be on branch Y. I need to shelve all changes from branch X, switch to branch Y, unshelve changes and then commit.


  • Add multiple project in one repository Github
  • How can I use AC_REVISION with Git?
  • Git: How to check if the local and remote branches point to the same commit (i.e. in sync)?
  • Git line number before and after
  • git push origin head?
  • Started a branch too late, change the parent of my branch
  • 3 Solutions collect form web for “Visual Studio 2013, Git and Shelving”

    In git the concept you’re looking for is stash. You add your changes as if you are going to commit them, and you then stash them with git stash. After changing branches, you can git stash apply or git stash pop (with the former leaving the stash available for reuse).

    I’m familiar with the shelf concept from Perforce, which has a useful difference from Git’s stash — where you can send a shelf to the server and share it with other people, you cannot do that with git. However, with git you can just create a branch with the stash and push that to the server, allowing others to merge it where it’s needed.

    Microsoft does not provide a way to use this feature.

    Visual Studio 2013 Update 2 does not support shelving (called stashing in git) for git repositories, but you can use 3rd party tools on the repository itself (I use SourceTree).

    Maybe I showed up late to this one.

    I use TortoiseGit for this… It works really well and can work alongside Visual Studio as it is just an explorer plugin.

    Git Baby is a git and github fan, let's start git clone.