I cannot find the answers to these 3 questions:
I've looked at https://www.kernel.org/pub/software/scm/git/docs/gitglossary.html
From the git revisions documentation:
HEAD names the commit on which you based the changes in the working tree.
MERGE_HEAD records the commit(s) which you are merging into your branch when you run git merge
FETCH_HEAD records the branch which you fetched from a remote repository with your last git fetch invocation