web-dev-qa-db-fra.com

Ignorer les crochets de commit Git

Je suis en train de regarder un crochet Git qui recherche les instructions print dans le code Python. Si une instruction print est trouvée, elle empêche la validation par git.

Je veux passer outre ce crochet et on m'a dit qu'il y a une commande pour le faire. Je n'ai pas réussi à le trouver. Des pensées?

376
Ben

Peut-être (de _git commit_ page de manuel ):

_git commit --no-verify

-n  
--no-verify
_

Cette option contourne les points d'ancrage pre-commit et commit-msg. Voir aussi githooks (5) .

Comme commenté par Blaise , _-n_ peut avoir un rôle différent pour certaines commandes.
Par exemple, git Push -n est en réalité un Push-Run à sec.
Seul _git Push --no-verify_ pourrait sauter le crochet.


Remarque: Git 2.14.x/2.15 améliore le comportement --no-verify:

Voir commit 680ee55 (14 août 2017) par Kevin Willford (``) .
(Fusion par Junio ​​C Hamano - gitster - dans commit c3e034f , 23 août 2017)

commit: ignorer l'index s'il n'y a pas de hook _pre-commit_

"_git commit_" utilisé pour supprimer l'index et le relire à partir du système de fichiers juste au cas où le hook _pre-commit_ l'a mis à jour au milieu; ceci a été optimisé lorsque nous savons que nous n'exécutons pas le hook _pre-commit_.

648
VonC

De man githooks:

pré-commit
Ce hook est appelé par git commit et peut être contourné avec l'option --no-verify. Il ne prend aucun paramètre et est appelé avant d'obtenir le message de journal de validation proposé et d'effectuer une validation. Quitter avec ce statut avec un statut différent de zéro provoque l'arrêt de la validation de git.

16
Chris Eberle