Stash local Git changes in a temporary area.

# To stash current changes, except new (untracked) files:
git stash [save optional_stash_message]

# To stash current changes, including new (untracked) files:
git stash -u

# To interactively select parts of changed files for stashing:
git stash -p

# To list all stashes (shows stash name, related branch and message):
git stash list

# To apply a stash (default is the latest, named stash@{0}):
git stash apply optional_stash_name_or_commit

# To 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

# To drop a stash (default is stash@{0}):
git stash drop optional_stash_name