: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.