Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Unobtrusively extend git repositories with hooks. Additionally, share hooks between developers.
Ruby Shell
branch: master

This branch is 1 commit behind timcharper:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
assets
bin
features
lib
spec
.gitignore
Gemfile
Gemfile.lock
LICENSE
README.textile
Rakefile
VERSION
cucumber.yml
geminstaller.yml
gitty.gemspec

README.textile

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.

Documentation

Installation

gem install gitty

Initialization

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

Issues

Report them here: http://github.com/timcharper/gitty/issues

Something went wrong with that request. Please try again.