git-hooks
is an utility for managing and running project git hooks for nodejs projects.
It has zero dependecies and easy to use.
Just install git-hooks and it will run your hooks when a hook is called by git.
Hooks are little scripts you can place in $GIT_DIR/hooks
directory to trigger action at certain points.
They are very powerful and helpful.
You can do a lot of things with them:
- Validate code and run tests before commit.
- Check codestyle.
- Spell check the commit message or check it format.
- and etc.
Note. When you use git-hooks
, you should not modify $GIT_DIR/hooks
directory manually because git-hooks
will do it for you.
Install git-hooks
in your project.
npm install git-hooks --save-dev
To keep things organized, git-hooks
looks for scripts in sub-directories named after the git hook name.
All these sub-directories should be stored in .githooks
directory in the project root.
Let's create some dummy pre-commit hook.
mkdir -p .githooks/pre-commit
echo -e '#!/usr/bin/env node' "\nconsole.log('hi!');" > .githooks/pre-commit/hello.js
chmod +x .githooks/pre-commit/hello.js
Then just try to commit and see how things are rolling.
git add .githooks package.json
git commit -m "Add git-hooks"
See also hooks examples.
It's worth to mention that our library checks for gitignore rules while executing scripts in .githooks/ directories.
- Original git-hooks project
- pre-commit
- ghooks
- husky