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
-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::
"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.
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
-------------