summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Jonathan Nieder <jrnieder@gmail.com>2010-05-30 03:41:53 -0500
committerLibravatar Junio C Hamano <gitster@pobox.com>2010-05-31 17:50:03 -0700
commitc5b41519c723ec1966e5f2d6326862095bfa7bb8 (patch)
tree5c2b9e2989a405cb055d953e4d277e36c488dd4f
parentMerge branch 'maint-1.7.0' into maint (diff)
downloadtgif-c5b41519c723ec1966e5f2d6326862095bfa7bb8.tar.xz
Documentation/checkout: clarify description
To the first-time reader, it may not be obvious that ‘git checkout’ has two modes, nor that if no branch is specified it will read from the index. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Documentation/git-checkout.txt28
1 files changed, 17 insertions, 11 deletions
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index 37c1810e3f..acbc2d53ed 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -15,26 +15,32 @@ SYNOPSIS
DESCRIPTION
-----------
+Retrieves files from the index or specified tree and writes them
+to the working tree.
-When <paths> are not given, this command switches branches by
-updating the index, working tree, and HEAD to reflect the specified
-branch.
+'git checkout' [-b <new branch>] [<branch>]::
+ When <paths> are not given, this command switches branches by
+ updating the index, working tree, and HEAD to reflect the
+ specified branch.
++
If `-b` is given, a new branch is created and checked out, as if
linkgit:git-branch[1] were called; in this case you can
use the --track or --no-track options, which will be passed to `git
branch`. As a convenience, --track without `-b` implies branch
creation; see the description of --track below.
-When <paths> or --patch are given, this command does *not* switch
-branches. It updates the named paths in the working tree from
-the index file, or from a named <tree-ish> (most often a commit). In
-this case, the `-b` and `--track` options are meaningless and giving
-either of them results in an error. The <tree-ish> argument can be
-used to specify a specific tree-ish (i.e. commit, tag or tree)
-to update the index for the given paths before updating the
-working tree.
+'git checkout' [--patch] [<tree-ish>] [--] [<pathspec>...]::
+ When <paths> or --patch are given, this command does *not* switch
+ branches. It updates the named paths in the working tree from
+ the index file, or from a named <tree-ish> (most often a commit). In
+ this case, the `-b` and `--track` options are meaningless and giving
+ either of them results in an error. The <tree-ish> argument can be
+ used to specify a specific tree-ish (i.e. commit, tag or tree)
+ to update the index for the given paths before updating the
+ working tree.
++
The index may contain unmerged entries after a failed merge. By
default, if you try to check out such an entry from the index, the
checkout operation will fail and nothing will be checked out.