Je ne pense pas, car les crochets ne sont pas clonés.
Peut-être que si ce hook script est lui-même versionné, et ensuite lié (lien symbolique) dans les serveurs clones (à condition que leur OS supporte cette fonctionnalité de lien).
Ou peut-être que si les crochets font partie d'une répertoire des modèles git utilisé pour la création des clones (cela garantirait seulement leur présence dans le repo du clone, cela ne garantirait pas qu'ils soient réellement utilisés et exécutés).
Mais je ne pense pas qu'il existe un moyen "central" de faire respecter un commit.
Comme Jefromi l'explique encore plus clairement dans les commentaires (c'est moi qui souligne) :
Je pense que cela va vraiment à l'encontre de l'idée d'un dépôt git d'avoir des crochets forcés distribués avec le dépôt.
Mon clone est mon référentiel . Je devrais pouvoir utiliser git comme je le souhaite, y compris choisir d'exécuter ou non les hooks.
(Et du point de vue de la sécurité, ce serait vraiment un peu effrayant - personne ne devrait avoir la possibilité de me forcer à exécuter certains scripts chaque fois que je lance certaines commandes git).
Je suis d'accord avec ce commentaire, et je n'ai vu que des moyens d'appliquer des règles appliquées localement, dans un repo spécialisé donné.
Par exemple, vous ne pousseriez pas directement vers le dépôt central, mais d'abord vers un dépôt d'assurance qualité qui n'accepterait votre livraison que si elle respecte certaines règles. Si c'est le cas, alors le repo QA poussera votre commit vers le repo central.
Une autre illustration directement dérivée de ce que je viens de mentionner serait " Intégration continue sans serveur avec Git ", un moyen de faire respecter localement une construction privée qui fonctionne avant de les pousser n'importe où.
5 votes
Si vous voulez application de la loi utiliser un crochet de mise à jour dans le dépôt central. Si le hook fait une vérification par-commit, vous pouvez toujours fournir un hook pre-commit ; les développeurs l'adopteront probablement volontairement, afin qu'ils puissent savoir immédiatement s'ils ont fait quelque chose de mal, plutôt que d'attendre jusqu'à ce qu'ils essaient de pousser.
1 votes
Duplicatas possibles : ( stackoverflow.com/questions/3462955 ) et ( stackoverflow.com/questions/427207 )