Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Unobtrusively extend git repositories with hooks. Additionally, share hooks between developers.

tag: 0.4.2

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 assets
Octocat-spinner-32 bin
Octocat-spinner-32 features
Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.textile
Octocat-spinner-32 Rakefile
Octocat-spinner-32 VERSION
Octocat-spinner-32 cucumber.yml
Octocat-spinner-32 geminstaller.yml
Octocat-spinner-32 gitty.gemspec

Gitty : Unobtrusively extend git.

Gitty provides an interface to manage commonly used git-hooks for repositories. A few use cases are:

  • Make it so that git submodules are intellegently updated after switching branches or merging.
  • Prevent trailing whitespace from being committed.
  • Help prevent scratch / debug code from being committed by refusing to commit a KEYWORD that marks it as such.
  • Share hooks with collaborators

Currently in alpha!

Missing features:

  • Only receive hooks from trusted publishers. (currently when gitty is activated on a repository, any hook published to origin is automatically installed)
  • It’s very young and might break
  • Remote repository must be named origin for shared hooks to work. This is currently not configurable.



To use gitty with a git repository, you need to install the basic gitty hooks.

git hook init
  • Any existing hooks will be preserved. They are moved to .git/hooks/local/.d/original

Enabling sharing

By default, it’s turned off (security reasons). To enable it:

git hook init --enable-sharing

Adding hooks

To see available hooks:

git hook list

To install one:

git hook install <hook-name>

To share one:

git hook share <hook-name>
git hook publish -m "added <hook-name>"

Read the cucumber features for an idea of how it works and what it does


Report them here:

Something went wrong with that request. Please try again.