Ggit.Repository.merge

### Method

# Ggit Repositorymerge

#### Declaration [src]

    void
    ggit_repository_merge (
      GgitRepository* repository,
      GgitAnnotatedCommit** their_heads,
      gsize their_heads_length,
      GgitMergeOptions* merge_opts,
      GgitCheckoutOptions* checkout_opts,
      GError** error
    )

#### Description [src]

Merges the given commit(s) into HEAD, writing the results into the working directory. Any changes are staged for commit and any conflicts are written to the index.

Callers should inspect the repository’s index after this completes, resolve any conflicts and prepare a commit.

#### Parameters

`their_heads` | An array of `GgitAnnotatedCommit*`
| The heads to merge into.
| The length of the array is specified in the `their_heads_length` argument.
| The data is owned by the caller of the function.
`their_heads_length` | `gsize`
| The length of their_heads.
`merge_opts` | `GgitMergeOptions`
| Merge options.
| The data is owned by the caller of the function.
`checkout_opts` | `GgitCheckoutOptions`
| Checkout options.
| The data is owned by the caller of the function.
`error` | `GError **`
| The return location for a `GError*`, or `NULL`.