On my remote box, I\'ve initialized a bare git repository. In the hooks directory, I\'ve initialized the post-receive, post-update and update hooks with the following script
With Git protocols, you will have different features enabled.
For HTTP, this thread summarizes the issue:
The "problem" here (which is very much the way HTTP protocol was designed) is that it isn't git that updates repository on remote side on push (which knows about hooks), but web server via WebDAV.
And web server knows nothing about hooks.Perhaps that would get improved when "smart" HTTP protocol gets implemented (currently in the phase of design, I think just after designing protocol).
As you commented, smart http would be the answer.
This feature is referred to as “smart” HTTP vs “dumb” HTTP because it requires having the Git binary installed on the server, where the previous incantation of HTTP transfer required only a simple webserver.
It has a real conversation with the client, rather than just dumbly pushing out data.