When I git checkout to a Git tag, the HEAD is referring to a branch where I created the tag.
Is this normal?
Or where am I doing wrong?
Any explanation will be appreciated. Thanks
When I git checkout to a Git tag, the HEAD is referring to a branch where I created the tag.
Is this normal?
Or where am I doing wrong?
Any explanation will be appreciated. Thanks
When I git checkout to a Git tag, the HEAD is referring to a branch where I created the tag. Is this normal?
Yep
Whenever you use the git checkout
git change the HEAD of your repository. The HEAD
simply references to commit.
If your commit is not the latest in the current branch you will be in detached HEAD.
Read here more about Detached HEAD: How to move HEAD back to a previous location? (Detached head)
Git stores your commit in a list like a sequence. Meaning that each commit is pointing to the previous commit stored inside the parent attribute of the commit. When you check out tag it's usually an "old" commit from the past. This results in a detached HEAD.
... the HEAD is referring to a branch where I created the tag
Whenever you checkout git tags it is not pointing to the branch where the tag was created since the tag can be in several branches if you merged that branch to others.
Git is in a detached HEAD state and you are not on any branch but in detached HEAD