I know that in the Git expression, โseparate HEADโ corresponds to a state in which the HEAD symbolic link does not point to any branch. I also know that git branch , for example, will tell me if I am in standached-HEAD state, for example
* (detached from 9a2ef02) master
or not, for example
* master
However, I would like to know if there is a way to make the output of git log --decorate completely unambiguous as to whether I am in standached-HEAD state or not. Here is an example explaining what I mean by "explicit."

Example
Let's say I'm on master , and my story is as follows:
4d860e9 (HEAD, master) Remove trailing whitespace 9a2ef02 Correct typo in header f0badb5 Add to-do section to README
Case 1: Unambiguous State of an Individual HEAD
If I run
git checkout 9a2ef02
then the output of git log --decorate --oneline is
9a2ef02 (HEAD) Correct typo in header f0badb5 Add to-do section to README
Since there is no branch link next to HEAD in this release, I know for sure that I have a separate head.
Case 2: disabled HEAD state or not?
However, if I run
git checkout 4d860e9
then HEAD does not point to master , but directly to commit 4d860e9 , which also points to master ; I have a separate HEAD. However, the output of git log --decorate --oneline ,
no way to talk about
4d860e9 (HEAD, master) Remove trailing whitespace 9a2ef02 Correct typo in header f0badb5 Add to-do section to README
because it is exactly the same as when I am on master .
Is there a way, through some git log options, to remove this ambiguity? I did not find a way in the git-log man page ...