git stash
Stash local Git changes in a temporary area.
More information: https://git-scm.com/docs/git-stash.
- Stash current changes with a message, except new (untracked) files:
git stash push --message optional_stash_message
- Stash current changes, including new (untracked) files:
git stash --include-untracked
- Interactively select parts of changed files for stashing:
git stash --patch
- List all stashes (shows stash name, related branch and message):
git stash list
- Show the changes as a [p]atch between the stash (default is
stash@{0}
) and the commit back when stash entry was first created:
git stash show --patch stash@{0}
- Apply a stash (default is the latest, named stash@{0}):
git stash apply optional_stash_name_or_commit
- Drop or apply a stash (default is stash@{0}) and remove it from the stash list if applying doesn’t cause conflicts:
git stash pop optional_stash_name
git stash clear