1 | # save your local modifications to a new stash entry |
When you want to record the current state of the working directory and the index, but want to go back to a clean working directory. The command git stash
saves your local modifications away and reverts the working directory to match the HEAD
commit.
The modifications stashed away by this command can be listed with git stash list
, inspected with git stash show
, and restored with git stash apply
. Calling git stash
without any arguments is equivalent to git stash push
. A stash is by default listed as “WIP on branchname…”, but you can give a more descriptive message on the command line when you create one.
The latest stash you created is stored in refs/stash
; older stashes are found in the reflog of this reference and can be named using the usual reflog syntax (e.g. stash@{0}
is the most recently created stash, stash@{1}
is the one before it, stash@{2.hours.ago}
is also possible). Stashes may also be referenced by specifying just the stash index (e.g. the integer n
is equivalent to stash@{n}
).