Rugged
ruby bindings to libgit2
...By default, Rugged builds and uses a bundled version of libgit2. Rugged gives you access to the many parts of a Git repository. You can read and write objects, walk a tree, access the staging area, and lots more. Let's look at each area individually.