Git pre-commit hook не работает в windows
Я только начинаю смотреть на крючки Git, но я не могу заставить их работать.
Я настроил локальный репозиторий, поэтому теперь есть '.каталог git в моей папке проекта. Я добавил '.cmd ' файл в C:/path/to/my/project/.каталог git/hooks с именем 'pre-commit.cmd'. Вот содержание этого файла:
echo "HOOK RUNNING"
echo. 2>C:/path/to/my/project/.git/hooks/EmptyFile.txt
Это должно повторять текст "HOOK RUNNING" и создавать пустой текстовый файл в этом каталоге. Однако, если я фиксирую изменения через свою IDE (NetBeans) или использовать Git Bash для фиксации, ни один из них не запускает мой крюк предварительной фиксации, поскольку файл не создается.
Я понимаю, что все, что вам нужно сделать, чтобы запустить крючок, это добавить исполняемый файл с именем крючка (как я это сделал). Я делаю что-то не так?
Примечание: это на ПК с Windows 7.
4 ответов
как насчет названия вашего крючка pre-commit
(без расширения) ?
EDIT: и добавить #!/bin/sh
в первой строке или #!/bin/bash
(подсказали в комментариях)
у вас, вероятно, нет разрешений для запуска
выполнить в терминале:
chmod +x .git/hooks/pre-commit
спасибо @vaughan за предоставление идеи
для меня ни одно из вышеперечисленных решений не работало. Я переместил файл предварительной фиксации из hooks в другое место, эффективно удалив файл из hooks.
Это сработало для меня: D
в моем случае, где я сделал npm install
& случайно удалены .git, npm install pre-commit --save
работала