Skip to content
Git Interactive Ruby Toolset . . . Hippopotamus?
Find file
Latest commit 09f79ed @tpope Switch to minitest
Failed to load latest commit information.
bin Rename to Girth
lib Fix warnings
test Switch to minitest
.gitignore Use Bundler for packaging
Gemfile Use Bundler for packaging
Rakefile Use Bundler for packaging
girth.gemspec Switch to minitest



Girth is a Git library for Ruby I started back when there weren't any Git libraries for Ruby and recently named and resurrected. It's designed to be expressive and natural to use in IRB. A ridiculous amount of effort was put into making inspect methods provide executable output. When you call refs.heads.master, the inspect includes refs.heads.master (and just like in Git, you can shorten that call to just master).

A big driver for the creation of this library was exploring the bowels of Git (side note: the same could be said of fugitive.vim). As such, it's biased towards reading rather than writing, though has some support for both. It feels like a natural choice for writing Git hooks, though I haven't used it for that much, yet.


This command creates a repository object for your current repository and places you inside it in an IRB session.

$ git-irb
>> head == refs.heads.master
=> true
>> head.sha1
=> "0000000000000000000000000000000000000000"
Something went wrong with that request. Please try again.