path: root/Documentation
diff options
authorJohannes Schindelin <>2008-08-09 14:00:12 (GMT)
committerJunio C Hamano <>2008-08-11 23:37:28 (GMT)
commitbb0ceb6264fa1aea6e68e07cb13cd9a88473febb (patch)
tree3bb234811f3e3ff627dd73d83e99cf0adfa6eb17 /Documentation
parentac39efbdf3d41443c40166b7578b7fb87c2f3b60 (diff)
checkout --track: make up a sensible branch name if '-b' was omitted
What does the user most likely want with this command? $ git checkout --track origin/next Exactly. A branch called 'next', that tracks origin's branch 'next'. Make it so. Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation')
1 files changed, 9 insertions, 1 deletions
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index 5aa69c0..43d4502 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -8,7 +8,7 @@ git-checkout - Checkout a branch or paths to the working tree
-'git checkout' [-q] [-f] [[--track | --no-track] -b <new_branch> [-l]] [-m] [<branch>]
+'git checkout' [-q] [-f] [--track | --no-track] [-b <new_branch> [-l]] [-m] [<branch>]
'git checkout' [<tree-ish>] [--] <paths>...
@@ -21,6 +21,10 @@ specified, <new_branch>. Using -b will cause <new_branch> to
be created; in this case you can use the --track or --no-track
options, which will be passed to `git branch`.
+As a convenience, --track will default to create a branch whose
+name is constructed from the specified branch name by stripping
+the first namespace level.
When <paths> are given, this command does *not* switch
branches. It updates the named paths in the working tree from
the index file (i.e. it runs `git checkout-index -f -u`), or
@@ -59,6 +63,10 @@ OPTIONS
'git-checkout' and 'git-branch' to always behave as if '--no-track' were
given. Set it to `always` if you want this behavior when the
start-point is either a local or remote branch.
+If no '-b' option was given, a name will be made up for you, by stripping
+the part up to the first slash of the tracked branch. For example, if you
+called 'git checkout --track origin/next', the branch name will be 'next'.
Ignore the branch.autosetupmerge configuration variable.