Skip to main content

A set of tools to validate git Conventional Commit messages.

Project description

Commit Message Git Hook

A set of tools to validate git Conventional Commit messages.

See the Conventional Commits Specification.

Installation Instructions

Install from PyPI (Python Package Index)

Run the script below to install the latest version of this package:

pip install commit-msg-git-hook --upgrade

Setup the Local Git Hook commit-msg

Run the script below to scaffold the hook:

python3 -m commit_msg_git_hook.setup

It does the following steps:

  • Create a directory for git-hooks, by default ./.github/git-hooks.
  • Set the hooks path to the current repository as the created directory.
  • Create the commit-msg hook file if it doesn't exist.
    • Fill it with a basic script to call commit_msg.main(), from this package.
    • If the operating system is Linux, make the hook file executable.
  • Create a configuration file commit-msg.config.json if it doesn't exist.

Configuration Instructions

Customize the configuration file commit-msg.config.json to fit your project's needs.

Probably you will want to add scopes, to fully utilize the Conventional Commits Specification.

Basic Usage

After setting up and adding the new files to your git remote repository, your collaborators will need to run the installation and setup steps again. But, this time, the setup will only set the hooks path and make sure the file commit-msg is executable.

Every time you make a commit, the hook will check if its message is in accordance to the specification and the project's customization.

How To Edit Commits

If your branch is not shared yet (not merged into develop, for example), you can edit your commits with the command below. Git will list the last n commits and ask you whether you want to keep or edit each one of them.

git rebase -i HEAD~n

More information here: https://docs.github.com/pt/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message

Credits

This package was created from a Craicoverflow tutorial.

See the tutorial at the link: https://dev.to/craicoverflow/enforcing-conventional-commits-using-git-hooks-1o5p

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

commit_msg_git_hook-0.3.2.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

commit_msg_git_hook-0.3.2-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file commit_msg_git_hook-0.3.2.tar.gz.

File metadata

  • Download URL: commit_msg_git_hook-0.3.2.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for commit_msg_git_hook-0.3.2.tar.gz
Algorithm Hash digest
SHA256 a978c836f6a4335dc879857be65101a37d6020def85d6590874fdbed8dc9ab91
MD5 3ab8467c703808bcd6960590809bff33
BLAKE2b-256 327a7fb68ef4507dd7a406ec0be8b18353f739db53bbbe9b9c0cfbfe0f285d0a

See more details on using hashes here.

File details

Details for the file commit_msg_git_hook-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for commit_msg_git_hook-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b9dd4b3c7ce0ffe792eed2e73b73c5206904cd0f3525003736f3e5926be8f8f3
MD5 2652c88080f497bef72a25d628aadfa5
BLAKE2b-256 97944558628d626d5f1849dec2d53c66cd643a46ee18fddb488e5e33f85fae64

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page