Sodamhan.com

TL;DR

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

  • Drop all stashes:

git stash clear

This document was created using the contents of the tldr project.