gitlib is a high-level, lazy and conduit-aware set of abstractions for
programming with Git types. Several different backends are available,
including one for the libgit2 C library (http://libgit2.github.com) (see
gitlib-libgit2). The aim is both type-safety and convenience of use for
Haskell users, combined with high performance and minimal memory footprint
by taking advantage of Haskell's laziness and the conduit library's
deterministic resource cleanup.
For further information, as well as typical use cases, see Git.Tutorial.