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!
- 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.
gem install gitty
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
By default, it’s turned off (security reasons). To enable it:
git hook init --enable-sharing
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: http://github.com/timcharper/gitty/issues