doc/checkout: split checkout and branch creation in synopsis

These can really be thought of as two different modes, since
the "<branch>" parameter is treated differently in the two
(in one it is the branch to be checked out, but in the other
it is really a start-point for branch creation).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2009-04-13 07:19:33 -04:00 committed by Junio C Hamano
parent 26d22dc64a
commit 76cfadfc17

View file

@ -8,23 +8,22 @@ git-checkout - Checkout a branch or paths to the working tree
SYNOPSIS
--------
[verse]
'git checkout' [-q] [-f] [-m] [-b <new_branch>] [<branch>]
'git checkout' [-q] [-f] [-m] [<branch>]
'git checkout' [-q] [-f] [-m] [-b <new_branch>] [<start_point>]
'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>...
DESCRIPTION
-----------
When <paths> are not given, this command switches branches by
updating the index and working tree to reflect the specified
branch, <branch>, and updating HEAD to be <branch> or, if
specified, <new_branch>. Using -b will cause <new_branch> to
be created 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`.
updating the index, working tree, and HEAD to reflect the specified
branch.
As a convenience, --track will default to creating a branch whose
name is constructed from the specified branch name by stripping
the first namespace level.
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> are given, this command does *not* switch
branches. It updates the named paths in the working tree from
@ -63,7 +62,7 @@ entries; instead, unmerged entries are ignored.
-b::
Create a new branch named <new_branch> and start it at
<branch>; see linkgit:git-branch[1] for details.
<start_point>; see linkgit:git-branch[1] for details.
-t::
--track::
@ -114,13 +113,6 @@ the conflicted merge in the specified paths.
"merge" (default) and "diff3" (in addition to what is shown by
"merge" style, shows the original contents).
<new_branch>::
Name for the new branch.
<tree-ish>::
Tree to checkout from (when paths are given). If not specified,
the index will be used.
<branch>::
Branch to checkout (when no paths are given); may be any object
ID that resolves to a commit. Defaults to HEAD.
@ -132,6 +124,18 @@ As a special case, the `"@\{-N\}"` syntax for the N-th last branch
checks out the branch (instead of detaching). You may also specify
`-` which is synonymous with `"@\{-1\}"`.
<new_branch>::
Name for the new branch.
<start_point>::
The name of a commit at which to start the new branch; see
linkgit:git-branch[1] for details. Defaults to HEAD.
<tree-ish>::
Tree to checkout from (when paths are given). If not specified,
the index will be used.
Detached HEAD
-------------