Sets the current head to the specified commit oid and optionally
resets the index and working tree to match.
SOFT reset means the Head will be moved to the commit.
MIXED reset will trigger a SOFT reset, plus the index will be replaced
with the content of the commit tree.
HARD reset will trigger a MIXED reset and the working directory will be
replaced with the content of the index. (Untracked and ignored files
will be left alone, however.)
TODO: Implement remaining kinds of resets.
@param repo Repository where to perform the reset operation.
@param target Committish to which the Head should be moved to. This object
must belong to the given repo and can either be a git_commit or a
git_tag. When a git_tag is being passed, it should be dereferencable
to a git_commit which oid will be used as the target of the branch.
@param reset_type Kind of reset operation to perform.
@param checkout_opts Optional checkout options to be used for a HARD reset.
The checkout_strategy field will be overridden (based on reset_type).
This parameter can be used to propagate notify and progress callbacks.
Sets the current head to the specified commit oid and optionally resets the index and working tree to match.
SOFT reset means the Head will be moved to the commit.
MIXED reset will trigger a SOFT reset, plus the index will be replaced with the content of the commit tree.
HARD reset will trigger a MIXED reset and the working directory will be replaced with the content of the index. (Untracked and ignored files will be left alone, however.)
TODO: Implement remaining kinds of resets.
@param repo Repository where to perform the reset operation.
@param target Committish to which the Head should be moved to. This object must belong to the given repo and can either be a git_commit or a git_tag. When a git_tag is being passed, it should be dereferencable to a git_commit which oid will be used as the target of the branch.
@param reset_type Kind of reset operation to perform.
@param checkout_opts Optional checkout options to be used for a HARD reset. The checkout_strategy field will be overridden (based on reset_type). This parameter can be used to propagate notify and progress callbacks.
@return 0 on success or an error code