Это все в OS X Mojave.
Я пытаюсь не допустить ошибочного совершения коммитов в ветку master, потому что это то, что я делаю слишком часто, используя pre-commit
Git хук из этого SO ответа , немного изменился, потому что я использую bash вместо sh. Однако каждый раз, когда я пытался запустить его, я получал следующее:
fatal: cannot exec '.git/hooks/pre-commit': Operation not permitted
Я проверял разрешения для каталогов .git
и .git/hooks
. Оба drwxrwxrwx
. Разрешения для pre-commit
:
-rwxr-xr-x@ 1 emeyer staff 25 Feb 5 11:50 pre-commit
… это то же самое, что и файл pre-commit.sample
, который я скопировал в pre-commit
, а затем заменил содержимое. Я попытался chmod +w
, но это не помогло.
Я решил упростить свое тестирование и заменил содержимое pre-commit
на следующее:
#!/bin/bash
echo "Test"
Я все еще получил вышеуказанная Operation not permitted
ошибка. Я также попробовал это с #!/bin/sh
, как в примере с SO; тот же результат.
Если я попытаюсь запустить скрипт напрямую, набрав ./pre-commit
из командной строки, я получу немного другую ошибку: -bash: ./pre-commit: /bin/bash: bad interpreter: Operation not permitted
. Ошибка постоянна, использую ли я /bin/bash
, /bin/sh
, /usr/local/bin/bash
или /usr/local/bin/sh
.
Поиск в Google, Binging и SO-поиск не дали мне работающего ответа, поэтому я здесь спрашиваю, как разрешить операцию, или что нужно.