[PATCH] Add a manual page for git-stash
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
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@gmx.de>
+
+
+GIT
+---
+Part of the gitlink:git[7] suite
--
1.5.2.2.3249.g33841