Как удалить удаленные git-хуки?

У меня есть предварительный толчок крючок реализован с Husky. Теперь я хочу удалить это.

Проблема в том, что после yarn remove husky мерзавцы все еще там внутри .git/hooks,

Из-за этого я получаю эту ошибку каждый раз, когда хочу зафиксировать или переключить ветку или коммит, таким образом, коммитинг даже не возможен ->

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

Я знаю, что всегда могу удалить каждый крючок внутри .git/hooks но как я могу протолкнуть эти изменения удаленно? Как не заставить моих товарищей по команде делать то же самое?

Также я знаю, что могу совершить, используя -n флаг, но все же я хотел бы не делать этого, я хочу, чтобы это было чисто git commit.

5 ответов

Решение

Предполагая, что у вас нет ненасыщенных хуков, вы можете оставить:

rm -f .git/hooks/*

Когда-либо файл внутри ".git/hooks/" является либо git-hook, либо игнорируется git. Удалив все внутри, вы избавитесь от всех хуков и восстановите поведение по умолчанию.

По умолчанию здесь есть примеры-хуки, но они не являются примерами, поэтому вы можете их удалить.

Я думаю, что лучше хранить все *.sample в.git/hooks

Для удаления мерзавцев, которые приходят хаски:

  • Сначала перейдите в каталог hooks
cd .git/hooks
  • Во-вторых, сохраните все файлы *.sample и удалите другие
ls | grep \.sample -v | xargs rm

Документация Husky рекомендует делать это следующим образом:

      $npm uninstall husky && git config --unset core.hooksPath

or 

$ yarn remove husky && git config --unset core.hooksPath
      git config --unset core.hooksPath

Таким образом, удаление удаленных хуков Git невозможно.

Лучшее, что вы можете сделать, это удалить свои локальные и уведомить остальную команду, чтобы они сделали то же самое.

О том, как удалить git hook локально, проверьте ответ@wotanii.

Другие вопросы по тегам