[PATCH 2/5] doc: git-checkout: clarify `git checkout <branch>`
From: Julia Evans <julia@jvns.ca>
- "To prepare for working on _<branch>_..." is confusing to some users:
it makes it sound like these are steps that the user has to do, not
steps that Git itself will do. Reword it.
- Use "changes" instead of "modifications" (which Git normally does)
- Mention that `git checkout` will fail if there's a merge conflict
- The current explanation of `You could omit <branch>`... is confusing
to users (what are the "expensive side effects"? what's a better way
of getting the same info?). Be more direct and mention that `git
status` is likely a better option.
Signed-off-by: Julia Evans <julia@jvns.ca>
---
Documentation/git-checkout.adoc | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/Documentation/git-checkout.adoc b/Documentation/git-checkout.adoc
index ddda891c0ff7..a3edb95973a2 100644
--- a/Documentation/git-checkout.adoc
+++ b/Documentation/git-checkout.adoc
@@ -30,11 +30,12 @@ See ARGUMENT DISAMBIGUATION below for how Git decides which one to do.
Here's a description of all of the modes:
`git checkout [<branch>]`::
- To prepare for working on _<branch>_, switch to it by updating
- the index and the files in the working tree, and by pointing
- `HEAD` at the branch. Local modifications to the files in the
- working tree are kept, so that they can be committed to the
- _<branch>_.
+ Switch to _<branch>_. This will update the files in the working tree,
+ point `HEAD` at the branch, and update the index. Local changes to
+ the files in the working tree are kept, so that they can be committed
+ to the _<branch>_. If the local changes conflict with the changes on
+ _<branch>_, no changes will be made and the checkout operation will
+ fail.
+
If _<branch>_ is not found but there does exist a tracking branch in
exactly one remote (call it _<remote>_) with a matching name and
@@ -44,10 +45,9 @@ exactly one remote (call it _<remote>_) with a matching name and
$ git checkout -b <branch> --track <remote>/<branch>
------------
+
-You could omit _<branch>_, in which case the command degenerates to
-"check out the current branch", which is a glorified no-op with
-rather expensive side-effects to show only the tracking information,
-if it exists, for the current branch.
+Running `git checkout` without specifying a branch will output the
+tracking information, if it exists, for the current branch, but it's
+slower than getting the same information from `git status`.
`git checkout (-b|-B) <new-branch> [<start-point>]`::
--
gitgitgadget