ghooks

Simple git hooks

Github stars Tracking Chart

ghooks

version
travis build
AppVeyor
codecov coverage
Dependencies status
Dev Dependencies status

MIT License
downloads
semantic-release
Commitizen friendly

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 repository, 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

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

Main metrics

Overview
Name With Ownerghooks-org/ghooks
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2014-04-29 02:36:44
Pushed At2023-07-20 12:18:23
Last Commit At2023-05-09 09:49:30
Release Count15
Last Release Namev1.3.2 (Posted on )
First Release Namev1.0.0 (Posted on )
用户参与
Stargazers Count1.1k
Watchers Count11
Fork Count63
Commits Count198
Has Issues Enabled
Issues Count68
Issue Open Count10
Pull Requests Count90
Pull Requests Open Count22
Pull Requests Close Count225
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private