Updates files in the index and the working tree to match the content of the commit pointed at by HEAD.
Note that this is not the correct mechanism used to switch branches;
do not change your HEAD
and then call this method, that would leave
you with checkout conflicts since your working directory would then
appear to be dirty. Instead, checkout the target of the branch and
then update HEAD
using git_repository_set_head
to point to the
branch you checked out.
0 on success, GIT_EUNBORNBRANCH if HEAD points to a non existing branch, non-zero value returned by notify_cb
, or other error code < 0 (use git_error_last for error details)