The arrow points to the current branch
An arrow to the right of HEAD
, in the output of git log --oneline --decorate --graph
, indicates which branch (if any) is the current one.
* 44025ed (HEAD -> master) second commit
means that the symbolic reference HEAD
currently points to the master
branch; in other words, you are not in detached-HEAD state, and the current branch is master
.
In contrast,
* 44025ed (HEAD, master) second commit
means that the symbolic reference HEAD
does not currently point to any branch, but to a commit (44025ed
) directly; in other words, you are in detached-HEAD state. The master
branch is only listed alongside HEAD
because it happens to point to the same commit (44025ed
).
Some history
For information, this distinction was introduced in Git (2.4) shortly after I asked the following question: Can git log --decorate unambiguously tell me whether the HEAD is detached?
A small experiment (to fix ideas)
$ mkdir decorate-test
$ cd decorate-test/
$ git init
Initialized empty Git repository in /xxxxxxx/decorate-test/.git/
$ touch README
$ git add README
$ git commit -m "Add README"
[master (root-commit) 50781c9] Add README
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README
$ git log --oneline --decorate --graph
* 50781c9 (HEAD -> master) Add README
# Note the presence of the arrow in the output.
# Now, check out the commit directly to detach the HEAD:
$ git checkout 50781c9
Note: checking out '50781c9'.
You are in 'detached HEAD' state. You can look around, ...
HEAD is now at 50781c9... Add README
$ git log --oneline --decorate --graph
* 50781c9 (HEAD, master) Add README
# The arrow is gone!
# Check out master again to reattach the HEAD:
$ git checkout master
Switched to branch 'master'
$ git log --oneline --decorate --graph
* 50781c9 (HEAD -> master) Add README
# The arrow is back!
detached-HEAD
. If I am not wrong, I saw(HEAD, master)
also in normal state whileHEAD
points tomaster
(notdetached-HEAD
). Is it possible? PS: a big wow for the historical motivation! : ) – Seriema