ghooks v2.0.4
ghooks
Simple git hooks
Installation
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).
Setup
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.:
"pre-commit": "cd path/to/folder && npm run test"
opt-in/out
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.
All documented hooks are available:
- 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
Common Issues
- Usage with git GUI clients – Thanks to @JamieMason
Credits
This module is heavily inspired by @nlf's precommit-hook
Contributors
Huge thanks to everyone listed here!
License
This software is licensed under the MIT license
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago