>Repository.CommandNoisy("update-ref", "-m", reason, name, commitHash);

LibGit2Sharp supports updating the target of both symbolic and direct references. However, the reflog is not updated to reflect this change. (Yet? /cc @Saaman :wink: )