Sends HTML email commit messages splitting commits that were pushed in one step. Changes are highlighted per word.
Pull request Compare This branch is 3 commits ahead, 706 commits behind git-commit-notifier:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Git Commit Notifier

by Bodo Tasche (bodo ‘at’ wannawork ‘dot’ de), Csoma Zoltan (Primalgrasp) (zoltan ‘at’ primalgrasp ‘dot’ com)

Sends email commit messages splitting commits that were pushed in one step.
Email is delivered as text or HTML with changes refined per word. Emails
have a scanable subject containing the first sentence of the commit as well
as the author, project and branch name.

For example:

[rails][branch] Fix Brasilia timezone. [#1180 state:resolved] 

A reply-to header is added containing the author of the commit. This makes
follow up really simple. If multiple commits are pushed at once, emails are
numbered in chronological order:

 [rails][branch][000] Added deprecated warning messages to Float#months and Float#years deprications.
 [rails][branch][001] Enhance testing for fractional days and weeks. Update changelog.

Example email:


  • Ruby
  • RubyGems

Installing and Configuring

Install the gem:

sudo gem install git-commit-notifier

After you installed the gem, you need to configure your git repository. Add a file called
“post-receive” to the “hooks” directory of your git repository with this content:

git-commit-notifier path_to_config.yml

(Don’t forget to make that file executable.)

An example for the config file can be found in config/git-notifier-config.yml.sample.

Integration of links to other software

This product supports easy integration with Redmine, Bugzilla and
MediaWiki as You can see in example of the config file.

But if you need integration with any other software use message_map property.

Every key of message_map is a case sensitive Regexp pattern, and its value is the replacement
string. Backreferences supported through \1-\9 expressions.

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don’t break it in a
    future version unintentionally.
  • Commit, do not mess with rakefile, version, or history.
    (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.


MIT License, see the file LICENSE.