A More Sophisticated Example
To get a better understanding of hooks, examine a more sophisticated example.
We'll cover the following
The previous pre-commit scripts were fairly limited in their usefulness. But just to give a flavor of what’s possible, you’re going to give an example that is able to choose whether to allow or reject a commit based on its content.
Banning keywords
Imagine that you’ve decided against o allowing any mention of politics in your code. The following hook will reject any mention of politics (or any word beginning with “politic”).
1 echo 'a political comment' >> file1
2 cat > .git/hooks/pre-commit << EOF
3 > if grep -rni politic *
4 > then
5 > echo 'no politics allowed!'
6 > exit 1
7 > fi
8 > echo OK
9 > exit 0
10 > EOF
11 git commit -am 'Political comment'
Get hands-on with 1400+ tech skills courses.