Как удалить удаленные 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 невозможно.
Лучшее, что вы можете сделать, это удалить свои локальные и уведомить остальную команду, чтобы они сделали то же самое.
О том, как удалить git hook локально, проверьте ответ@wotanii.