Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- Documentation/git-stash.txt | 116 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 116 insertions(+), 0 deletions(-) create mode 100644 Documentation/git-stash.txt diff --git a/Documentation/git-stash.txt b/Documentation/git-stash.txt new file mode 100644 index 0000000..b109f6e --- /dev/null +++ b/Documentation/git-stash.txt @@ -0,0 +1,116 @@ +git-stash(1) +============= + +NAME +---- +git-stash - Stash the changes in a dirty working directory away + +SYNOPSIS +-------- +[verse] +'git-stash' [clear] +'git-stash' [list | show | apply] [<stashname>] + +DESCRIPTION +----------- +Use 'git stash' 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. + +For example, if you have to pull, but are in the middle of some +interesting work, not yet ready to be committed, use git-stash. + +The default operation (when called without options), is to save +the changes away. + + +OPTIONS +------- +clear:: + Undo _all_ stashes (dangerous!). + +list [<stashname>]:: + List all stashed states. + +show [<stashname>]:: + Show a combined diff of the stashed working directory, index and + HEAD. + +apply [<stashname>]:: + Try to apply the stashed changes to the current HEAD. You need + a clean working directory for that, i.e. you must not have changes + relative to HEAD in your working directory or index. + +<stashname>:: + A name of a stashed state. Typically something like 'stash@{2}' + or 'stash@{2.days.ago}'. + + +EXAMPLES +-------- + +Get to a clean working directory, quick: + +--------------------- +$ git stash +--------------------- + +See what you stashed: + +--------------------- +$ git stash list +--------------------- + +Inspect the last stashed state: + +--------------------- +$ git stash show +--------------------- + +Inspect the second last stashed state: + +-------------------------- +$ git stash show stash@{1} +-------------------------- + +Apply the second last stashed state: + +--------------------------- +$ git stash apply stash@{1} +--------------------------- + + +DISCUSSION +---------- + +The state is saved as three commits: + +- HEAD, +- a commit which contains the state of the index, which has HEAD as a + parent, and +- a commit which contains the state of the working directory (only the + tracked files, though), which has both HEAD and the second commit + as parents. + +The third commit holds the complete information of the stash, and is +stored as the ref 'refs/stash'. + +Since that commit does not have any reference to other stashed states, +the stash listing relies on the reflog of 'refs/stash'. Therefore, +the stashed states are garbage collected like all the other reflogs. + + +SEE ALSO +-------- +gitlink:git-commit[1], +gitlink:git-log[1], +gitlink:git-reflog[1] + +Author +------ +Written by Johannes E. Schindelin <johannes.schindelin@xxxxxx> + + +GIT +--- +Part of the gitlink:git[7] suite -- 1.5.2.2.3249.g33841 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html