Awesome Lists with GitHub stars

Awesome Git Hooks
Awesome Git Hooks

Awesome Lists PRs welcome

Awesome Git Hooks

:anchor: Easy-to-use git hooks for automating tasks during git workflows.

Git hooks are custom scripts you can use to automate tasks which are triggered before or after a git command is executed. There are two groups of these hooks: client-side and server-side. Client-side hooks are triggered by operations such as committing and merging, while server-side hooks run on network operations such as receiving pushed commits. This repo contains helpful resources as well as a variety of git hook scripts that can be easily customized to serve different purposes.

:heavy_check_mark: Nothing to install/download

:heavy_check_mark: Code is well-documented

:heavy_check_mark: Grab & go! Copy the code you want to use and paste into your .git/hooks folder

Contributions are always welcome! Please see our Contribution Guidelines. Also, if you don’t find the script you want below, you can create a new issue GitHub Repo Stars GitHub last commit to request it.

Contents

Git Hook Scripts

Note: The icon next to each script signifies what language it is written in.

icon language
Bash Icon bash
Python Icon python
Perl Icon perl

commit-msg

post-checkout

post-update

pre-commit

prepare-commit-msg

pre-push

pre-rebase

query-watchman

update

Quick Start

  1. Pick a hook, any hook! Try the “verify-name-and-email” one if you’re not sure where to start.
  2. Navigate to your project’s hooks folder (.git/hooks).
  3. You should see a list of files already in there. Create a new file called the exact commit type that you want to use (eg: “commit-msg”, “pre-rebase”, “pre-commit”, etc). Do not give it an extension.

create new file

  1. Open your new file and paste the code from the hook you chose out of this repo (eg: verify-name-and-email.hook GitHub Repo Stars GitHub last commit).
  2. Save file. Done! Now the git hook will be triggered automatically.

Tools

Written Guides

Video Guides

License

CC0
This work is licensed under a Creative Commons Attribution 1.0 International License.