### Method

# Ggit Repository reset

#### Declaration [src]

    void
    ggit_repository_reset (
      GgitRepository* repository,
      GgitObject* target,
      GgitResetType reset_type,
      GgitCheckoutOptions* checkout_options,
      GError** error
    )

#### Description [src]

Performs a reset of type `reset_type` on `repository` to `target`, or `error` will be set.

#### Parameters

`target`

  Type: `GgitObject`

  The target `GgitObject` which is a commit or a tag.

  The data is owned by the caller of the method.

`reset_type`

  Type: `GgitResetType`

  The `GgitResetType` to perform.

`checkout_options`

  Type: `GgitCheckoutOptions`

  The `GgitCheckoutOptions` to be used for a HARD reset.

  The data is owned by the caller of the method.

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the method if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.