: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 to request it.
include-git-diff-name-status
- Include the output of “git diff –name-status -r” into the message,
just before the “git status” output.
insert-issue-number
- Insert issue number to beginning of the commit message.
pre-push
prevent-bad-push
- Prevent push of commits where the log message starts with “WIP” (work
in progress).
pre-rebase
prevent-rebase
- Prevent topic branches that are already merged to ‘next’ branch from
getting rebased, because allowing it would result in rebasing already
published history.
query-watchman
fsmonitor-watchman
- Output to stdout all files that have been modified since a given time.
Pick a hook, any hook! Try the “verify-name-and-email” one if you’re
not sure where to start.
Navigate to your project’s hooks folder (.git/hooks).
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
Open your new file and paste the code from the hook you chose out of
this repo (eg: verify-name-and-email.hook).
Save file. Done! Now the git hook will be triggered
automatically.
Tools
Husky - Manage
git hooks with a nice user interface.
Overcommit - A
fully configurable and extendable git hook manager.