February 19, 2017Foucauld Degeorges1 min read
Today, for the 185th time, I accidentally committed some debugging code on my project. But there won't be a 186th time.
How hard can it be to get a warning when I'm about to commit a diff that contains certain forbidden strings?
Of course it isn't - it's called pre-commit hooks.
And Github user pimterry came up with a pre-commit hook that does just this and lets you choose whether to abort or to commit nevertheless.
To check for the presence of Mocha's describe.only
and it.only
methods on my project, I added these two entries to my Makefile
:
install-git-hook:
curl https://cdn.rawgit.com/pimterry/git-confirm/v0.2.1/hook.sh > .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit && make configure-git-hook
configure-git-hook:
git config --unset-all hooks.confirm.match || echo 'Nothing to clear'
git config --add hooks.confirm.match 'describe.only'
git config --add hooks.confirm.match 'it.only'
install-git-hook
tries to download and install pimterry's hook on your project.configure-git-hook
sets up 2 forbidden strings: it.only
and describe.only
. Replace these with the ones you need.Then, run make install-git-hook
in your project directory.
Now when you commit a file containing a forbidden string, this is what you get:
The default configuration includes a few usual suspects such as TODO
and @ignore
.
Viewing or editing your list of forbidden keywords is all a matter of playing with git config
. You can refer to the Git Confirm repo for details.
Web Developer at Theodo