112 votes

Est-ce que les hooks git sont poussés sur le site distant lorsque je fais un 'git push' ?

Si je crée un nouveau hook script dans mon dépôt local dans repo/.git/hooks/post-commit et que j'exécute ensuite "git push", les hooks sont-ils poussés vers le remote ? Ensuite, lorsque les autres développeurs exécutent "git pull" à partir de la même origine, auront-ils mes nouveaux hooks ?

94voto

Kevin Ballard Points 88866

Non. Les hooks sont par référentiel et ne sont jamais poussés. De même, la configuration du repo n'est pas poussée non plus, et rien de ce qui se trouve dans le fichier .git/info ou un certain nombre d'autres choses.

Le push et le pull n'échangent que les branches/balises et les objets commit (et tout ce qui est accessible à partir d'un commit, par exemple les arbres, les blobs).

52voto

Marco Leogrande Points 2250

Non, les hooks git ne sont pas poussés ou tirés, car ils ne font pas partie du code du dépôt.

Veuillez vous référer à la documentation pour une liste de crochets simples côté client et côté serveur.

Si vous voulez activer certains crochets pour tous les clients qui clonent ou tirent d'un dépôt donné, vous devez ajouter les crochets à votre base de code et ensuite créer votre propre script pour les copier dans, ou les lier à partir de repo/.git/hooks/ .

28voto

Marco Medrano Points 390

Malheureusement non, mais depuis git 2.9 vous pouvez les placer dans le dossier .githooks (comme d'autres l'ont mentionné) et les exécuter :

git config --local core.hooksPath .githooks/

Il n'est donc pas nécessaire de créer des liens symboliques ou de copier des fichiers.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X