web-dev-qa-db-fra.com

Comment supprimer les crochets git distants?

J'ai un crochet pré-push implémenté avec Husky. Maintenant, je veux l'enlever.

Le problème est qu'après yarn remove husky git hooks sont toujours là à l'intérieur .git/hooks.

À cause de cela, j'obtiens cette erreur chaque fois que je veux valider ou changer de branche ou de validation, donc la validation n'est même pas possible ->

.git/hooks/pre-commit: line 6: node_modules/run-node/run-node: No such file or directory

Je sais que je peux toujours supprimer tous les crochets à l'intérieur .git/hooks mais comment puis-je pousser ces modifications à distance? Comment ne pas faire faire la même chose à mes coéquipiers?

Je sais aussi que je peux m'engager en utilisant -n flag mais j'aimerais quand même ne pas le faire, je veux le faire nettoyer git commit.

10
Nikola Mitic

En supposant que vous n'ayez pas d'hameçons non husky, vous voudrez peut-être garder:

rm -f .git/hooks/*

chaque fichier à l'intérieur de ".git/hooks /" est soit un git-hook, soit ignoré par git. En supprimant tout à l'intérieur, vous vous débarrasserez de tous les crochets et restaurerez le comportement par défaut.

Par défaut, il existe des exemples de crochets, mais à l'exception des exemples, ils ne servent à rien, vous pouvez donc les supprimer.

15
wotanii

Je pense qu'il vaut mieux garder tous les * .sample dans .git/hooks

Pour retirer les crochets Git qui sont enroués:

  • Tout d'abord, allez dans le répertoire hooks
cd .git/hooks
  • Deuxièmement, conservez tous les fichiers * .sample et supprimez les autres
ls | grep \.sample -v | xargs rm
8
Renan Bronchart