Jeśli utworzę nowy skrypt przechwytujący w moim repozytorium lokalnym w repo / .git / hooks / post-commit, a następnie uruchomię polecenie „git push”, to czy punkty zaczepienia zostaną przesłane do pilota? Czy wtedy, gdy inni programiści uruchomią „git pull” z tego samego źródła, otrzymają moje nowe hooki?
96
Odpowiedzi:
Nie. Hooki są przypisane do repozytorium i nigdy nie są wypychane. Podobnie, konfiguracja repozytorium również nie jest przekazywana, nie ma też niczego w niej
.git/info
ani wielu innych rzeczy.Wypychanie i ściąganie wymienia tylko gałęzie / tagi i obiekty zatwierdzeń (i wszystko, co można osiągnąć z zatwierdzenia, np. Drzewa, bloby).
źródło
.githooks
katalog, który będzie kontrolowany przez wersję, a następnie albo sym-link, albo utworzysz skrypty przechwytujące opakowanie od wewnątrz.git
. Klonowanie nie będzie automatycznie podłączane,.githooks
ale po podłączeniu możesz wypychać i pobierać nowe wersje skryptów przechwytujących.Nie, punkty zaczepienia git nie są wypychane ani ściągane, ponieważ nie są częścią kodu repozytorium.
Zapoznaj się z dokumentacją, aby uzyskać listę prostych punktów zaczepienia po stronie klienta i po stronie serwera.
Jeśli chcesz włączyć kilka punktów zaczepienia dla wszystkich klientów, którzy klonują lub pobierają z danego repozytorium, musisz dodać punkty zaczepienia do swojej bazy kodu, a następnie utworzyć własny skrypt, aby skopiować je do lub utworzyć łącze do nich
repo/.git/hooks/
.źródło
setup.sh
uruchamianego przez programistę podczas pierwszego klonowania repozytorium. Następnie aktualizacje punktów zaczepienia mogą następować automatycznie, na przykład poprzez posiadanie punktu zaczepienia, który ponownie uruchamia skrypt aktualizujący je po każdym ściągnięciu. Nie musisz więc polegać na programiście, aby zrobił to sam.Niestety nie, ale od git 2.9 możesz umieścić je w folderze .githooks (jak wspominali inni) i uruchomić:
Nie ma więc potrzeby używania linków symbolicznych ani kopiowania plików.
źródło