Git Hooks не попадает в хранилище - PullRequest
1 голос
/ 27 октября 2019

У меня есть пустой репозиторий на хост-машине и локальный репозиторий на моем ноутбуке. У меня есть 2 хука: один до-коммит и один-хук после получения. Оба находятся в моей локальной папке перехвата:

malek@laptop:~/Desktop/portfolio-website/.git/hooks$ ls
post-receive  pre-commit

И, конечно, я помещаю свой локальный репозиторий в удаленный репозиторий (мой локальный хук pre-commit работает нормально), но мои перехватчики не обновляются на моем голом пультерепозиторий.

malek@laptop:~/Desktop/portfolio-website/.git/hooks$ git push -u origin --all
Branch 'master' set up to track remote branch 'master' from 'origin'.
Branch 'production' set up to track remote branch 'production' from 'origin'.
Everything up-to-date

Как вы можете видеть ниже:

malek@localhost:~/portfolio-website/hooks$ ls
applypatch-msg.sample      pre-applypatch.sample      pre-rebase.sample
commit-msg.sample          pre-commit.sample          pre-receive.sample
fsmonitor-watchman.sample  prepare-commit-msg.sample  update.sample
post-update.sample         pre-push.sample

Команда git log master возвращает

commit 3403657fc4d08f406416711255cf04390a2df070 (HEAD -> master)
Author: “Malek <“myemail@gmail.com”>
Date:   Sat Oct 26 18:06:06 2019 -0400

    Write Makefile and hooks

commit 484c283a9faf0afed14328c9b71e635338c86187 (production)
Author: “Malek <“myemail@gmail.com”>
Date:   Tue Oct 22 00:17:11 2019 -0400

    Master branch creation

Почему мои хуки не обновляются на моемудаленный репозиторий, если коммит был успешно отправлен?

1 Ответ

2 голосов
/ 27 октября 2019

Хук предварительной фиксации - это хук клиентской стороны , который останется (как и любая хук) в вашем локальном хранилище;

Хук пост-получения - сервер -хук , который необходимо установить / скопировать вручную на удаленном репо (даже если этот удаленный репозиторий находится на той же машине).

У меня есть мягкая символическая ссылка на папку моих перехватчиков в каталоге моего проекта, поэтому я предполагаю, что эти перехваты будут обновляться и в чистом репозитории ..

Поскольку ловушка не является частью того, что отправлено ( по соображениям безопасности ), эта символическая ссылка не будет реплицироваться в удаленном хранилище.

Следовательно, необходимо вручную скопировать ловушку после получения(не предмитовый, который в любом случае не будет работать в пустом хранилище).

...