tldr/pages/common/git-stash.md

37 lines
994 B
Markdown
Raw Normal View History

2013-12-09 11:12:24 +00:00
# git stash
> Stash local Git changes in a temporary area.
> More information: <https://git-scm.com/docs/git-stash>.
2013-12-09 11:12:24 +00:00
- Stash current changes with a [m]essage, except new (untracked) files:
2013-12-09 11:12:24 +00:00
`git stash push --message {{optional_stash_message}}`
2013-12-09 11:12:24 +00:00
- Stash current changes, including new ([u]ntracked) files:
2013-12-09 11:12:24 +00:00
`git stash --include-untracked`
2013-12-09 11:12:24 +00:00
- Interactively select [p]arts of changed files for stashing:
2016-09-28 08:46:15 +01:00
`git stash --patch`
2016-09-28 08:46:15 +01:00
2016-09-01 19:01:07 +01:00
- List all stashes (shows stash name, related branch and message):
2013-12-09 11:12:24 +00:00
`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}):
2013-12-09 11:12:24 +00:00
`git stash apply {{optional_stash_name_or_commit}}`
2013-12-09 11:12:24 +00:00
- Drop or apply a stash (default is stash@{0}) and remove it from the stash list if applying doesn't cause conflicts:
2013-12-09 11:12:24 +00:00
`git stash pop {{optional_stash_name}}`
2014-05-24 21:05:35 +01:00
2016-11-19 17:43:18 +00:00
- Drop all stashes:
`git stash clear`