На моем удаленном компьютере я инициализировал пустой git-репозиторий.В каталоге ловушек я инициализировал ловушки post-receive, post-update и update с помощью следующего скрипта:
#!/bin/bash
echo $0 $@ >> /tmp/githooks.log
В моем локальном ящике я клонировал репозиторий, добавил тестовый файл, зафиксировал его и перенес изменение обратно в удаленный ящик.
$ git clone https://remote/git/sandbox.git sandbox
$ cd sandbox
$ touch asdf
$ git add asdf
$ git commit -a
[master (root-commit) 37505de] zxcv
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 asdf
$ git push origin master
Fetching remote heads...
refs/
refs/heads/
refs/tags/
updating 'refs/heads/master'
from 0000000000000000000000000000000000000000
to 37505de9c22b0aee84e0071190f4f58728770675
sending 3 objects
done
Updating remote server info
To https://remote/git/sandbox.git
* [new branch] master -> master
Однако на удаленном компьютере файл /tmp/githooks.log пуст.Однако, если я клонирую репозиторий на удаленном компьютере, ловушки успешно вызываются.
Не работают ли ловушки git с http-push?