Skip to content

Commit

Permalink
Doc/checkout: checking out using @{-N} can lead to detached state
Browse files Browse the repository at this point in the history
@{-N} is a syntax for the N-th last "checkout" and not the N-th
last "branch". Therefore, in some cases using `git checkout @{-$N}`
DOES lead to a "detached HEAD" state. This can also be ensured by
the commit message of 75d6e55 (Documentation: @{-N} can refer to
a commit, 2014-01-19) which clearly specifies how @{-N} can be used
to refer not only to a branch but also to a commit.

Correct the misleading sentence which states that @{-N} doesn't
detach HEAD.

Signed-off-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
sivaraam authored and gitster committed Nov 28, 2017
1 parent 9752ad0 commit 75ce149
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions Documentation/git-checkout.txt
Expand Up @@ -263,11 +263,11 @@ section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
commit, your HEAD becomes "detached" and you are no longer on
any branch (see below for details).
+
As a special case, the `"@{-N}"` syntax for the N-th last branch/commit
checks out branches (instead of detaching). You may also specify
`-` which is synonymous with `"@{-1}"`.
You can use the `"@{-N}"` syntax to refer to the N-th last
branch/commit checked out using "git checkout" operation. You may
also specify `-` which is synonymous to `"@{-1}`.
+
As a further special case, you may use `"A...B"` as a shortcut for the
As a special case, you may use `"A...B"` as a shortcut for the
merge base of `A` and `B` if there is exactly one merge base. You can
leave out at most one of `A` and `B`, in which case it defaults to `HEAD`.

Expand Down

0 comments on commit 75ce149

Please sign in to comment.