Mastering git, Part 8, git Hook

A git hook is a script that Git executes before or after an event such as committing, pushing, or receiving code. Git hooks are a built-in feature of Git that allows you to perform custom actions at specific points in the Git workflow. They are stored in the .git/hooks directory in a Git repository, and are typically named according to the event they are associated with.

There are several types of git hooks that can be used, including:

  • pre-commit: runs before you commit your changes
  • post-commit: runs after you commit your changes
  • pre-push: runs before you push your changes to a remote repository
  • post-push: runs after you push your changes to a remote repository

Git hooks are usually written in a shell script, but you can use any executable program as a git hook. They can be used for tasks such as checking for code formatting issues, running tests, or deploying code to a staging environment.

To use a git hook, you must create a script with the desired behavior and save it in the appropriate hook directory in your repository. Git will automatically execute the script at the appropriate time in the workflow.

For instance to apply clang-format on files before committing, create a file and name it “pre-commit

a better script:


Move your hooks to a hooks tracked directory in your repository. Then, configure each instance of the repository to use the tracked hooks instead of $GIT_DIR/hooks:

Refs: [1], [2]

0 0 votes
Article Rating
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x