git set head to commit

C++
git revert {commit_id}'
# Set a new HEAD to a branch
# Note that commit can be a commit hash or tag or another branch
git reset --hard $COMMIT# rollback to commit state
git revert --no-commit 0766c053..HEAD
git commit
# This will detach your HEAD, that is, leave you with no branch checked out:
git checkout 0d1d7fc32# This will detach your HEAD, that is, leave you with no branch checked out:
git checkout 0d1d7fc32
# to go back to original branch, git checkout master
Source

Also in C++: