What does git push origin HEAD mean?
HEAD
points to the top of the current branch. git
can obtain the branch name from that. So it's the same as:
git push origin CURRENT_BRANCH_NAME
but you don't have to remember/type the current branch name. Also it prevents you from pushing to the wrong remote branch by accident.
If you want to push a different branch than the current one the command will not work.
If you want to push into the specific remote branch you can run:
git push origin HEAD:<name-of-remote-branch>
This is what I encounter when I was trying to push my repo back to the remote branch.