Search code examples
gitvisual-studiogit-stash

Is it possible to use git stash command from Visual Studio


I'm using Visual Studio 2017's Team Explorer to work with a git repository.

Every time I'm uses the git stash or git stash pop, I need to open the Git Bash console and navigate to my project folder and run the commands.

Is there any way to stash within Visual Studio (2017)?


Solution

  • Yes

    Git Stash:

    Git stash temporarily shelves (or stashes) changes you've made to your working copy so you can work on something else, and then come back and re-apply them later on. Stashing is handy if you need to quickly switch context and work on something else, but you're mid-way through a code change and aren't quite ready to commit.

    enter image description here

    Stashing is available in VS 2019 and later versions.

    1. Go to Git changes window Ctrl + Alt + F7
    2. Now press the drop down key near Commit All or Commit staged button to see the stashing options

    Option 2: You can use this option Stash All and Keep Staged (--keep-index) by default

    enter image description here

    Option 1: Only if you want to stash untracked files like Git ignored files or Files which are not included into project then go for this option

    enter image description here

    You can keep/save multiple stashes with description like below:

    enter image description here

    Retrieving a stash: You have two options, either to Apply or Pop.

    Apply will retrieve the stash but wont delete the stash but Pop (Apply + Delete) will retrieve the stash and will also delete it.

    enter image description here

    Again, Under Apply/Pop you gonna see two options:

    1. Apply/Pop and restore staged (--index)

    Always use this option by default. This means while stashing if you had some files in changes and some files in staged, it'll be restored as such to changes and staged.

    1. Apply/Pop all as unstaged

    If you use this option, while stashing if you had some files in changes and some files in staged, all of these files now will be clubbed to Changes.

    enter image description here