HEAD is a pointer at the current branch. I have seen a variety of notations for ancestors of HEAD including
HEAD~2HEAD^2>
From the docs here.
HEAD~2 : 2 commits older than HEADHEAD^2 : the second parent of HEAD, if HEAD was a merge, otherwise illegalHEAD@{2} : refers to the 3rd listing in the overview of git reflogHEAD~~ : 2 commits older than HEADHEAD^^ : 2 commits older than HEADIf HEAD was a merge, then
Some Combinations and Synonyms
First Parent First Grandparent Second Parent Second Grandparent
HEAD~
HEAD^
HEAD~1 HEAD~2 HEAD^2 HEAD^2~
HEAD^1 HEAD^^ HEAD^2^