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?

  • Storing Configuration File
  • Cannot setup tracking information; starting point 'origin/master' is not a branch
  • Why doesn't .gitignore work across branches?
  • Github & Heroku Webhooks : Add label when pushed to origin, close when pushed to prod
  • Prevent merge at git pull
  • Is assigning a git branch name not sufficient to undo a detached head?
  • 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.


  • Eclipse- new empty branch creation
  • Git fetch / rebase / push sequence
  • File ownership/group is changed when users push to a GIT repository
  • Why does git svn dcommit lose the history of merge commits for local branches?
  • My new Github page isn't showing up
  • How can I apply and drop my latest git stash in the same command?
  • 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.