Simple git hooks
npm install ghooks









Simple git hooks
```
npm install ghooks --save-dev
_It is not advised to install ghooks as a production dependency, as it will install git hooks in your production environment as well. Please install it under the devDependencies section of your package.json._
_Please also note, that it is absolutely not advised to install ghooks globally. To work as expected, make it a development dependency of your project(s)._
Add a config.ghooks entry in your package.json and simply specify which git hooks you want and their corresponding commands, like the following:
``
{
…
"config": {
"ghooks": {
"pre-commit": "gulp lint",
"commit-msg": "validate-commit-msg",
"pre-push": "make test",
"post-merge": "npm install",
"post-rewrite": "npm install",
…
}
}
…
}
Note: _The hooks' working directory is relative to the git root (where you have your .git directory). This means that if your package.json is in a subdirectory of your git repo, you'll need to cd into the directory before running any npm scripts. E.g.:_
`json`
"pre-commit": "cd path/to/folder && npm run test"
One of the last things you want is to raise the barrier to contributing to your open source project. So Andreas Windt developed the opt-cli package to allow you to turn your hooks into opt-in/out scripts. See this project's package.json` for an example of how to do that.
* applypatch-msg
* pre-applypatch
* post-applypatch
* pre-commit
* prepare-commit-msg
* commit-msg
* post-commit
* pre-rebase
* post-checkout
* post-merge
* pre-push
* pre-receive
* update
* post-receive
* post-update
* pre-auto-gc
* post-rewrite
* Usage with git GUI clients – Thanks to @JamieMason
Huge thanks to everyone listed here!
This software is licensed under the MIT license