git core.hooksPath 权限被拒绝问题
git core.hooksPath permission denied issue
我正在尝试将我的所有 git 挂钩和所有其他回购都引用到一个回购。
我的 repo 目录结构如下所示。
~/dev/githooks/.git/hooks
|-> pre-push
|-> prevent-master
prevent-master
#!/bin/sh
branch_blocked="master"
if grep -q "$branch_blocked"; then
echo "Branch '$branch_blocked' is blocked by yourself." >&2
exit 1
fi
现在我告诉我的 git 配置使用这个 git 挂钩目录 git config core.hooksPath ~/dev/githooks/.git/hooks
在一个单独的回购中,我试图推送它说
clickthisnick$ git push
fatal: cannot exec '/Users/clickthisnick/dev/githooks/.git/hooks/pre-push': Permission denied
我有 chmod -R +xr ~/dev/githooks
并且正在使用支持此 git version 2.17.2
的 git 版本。
还有什么我可以尝试让它工作的吗?
您的 git 挂钩需要是 可执行文件 ,而不是目录。 git 将尝试调用:
/Users/clickthisnick/dev/githooks/.git/hooks/pre-push
但是您将其配置为一个目录,其中包含一个挂钩 (prevent-master
) 而不是一个文件。相反,重命名:
/Users/clickthisnick/dev/githooks/.git/hooks/pre-push/prevent-master
到
/Users/clickthisnick/dev/githooks/.git/hooks/pre-push
我正在尝试将我的所有 git 挂钩和所有其他回购都引用到一个回购。
我的 repo 目录结构如下所示。
~/dev/githooks/.git/hooks
|-> pre-push
|-> prevent-master
prevent-master
#!/bin/sh
branch_blocked="master"
if grep -q "$branch_blocked"; then
echo "Branch '$branch_blocked' is blocked by yourself." >&2
exit 1
fi
现在我告诉我的 git 配置使用这个 git 挂钩目录 git config core.hooksPath ~/dev/githooks/.git/hooks
在一个单独的回购中,我试图推送它说
clickthisnick$ git push
fatal: cannot exec '/Users/clickthisnick/dev/githooks/.git/hooks/pre-push': Permission denied
我有 chmod -R +xr ~/dev/githooks
并且正在使用支持此 git version 2.17.2
的 git 版本。
还有什么我可以尝试让它工作的吗?
您的 git 挂钩需要是 可执行文件 ,而不是目录。 git 将尝试调用:
/Users/clickthisnick/dev/githooks/.git/hooks/pre-push
但是您将其配置为一个目录,其中包含一个挂钩 (prevent-master
) 而不是一个文件。相反,重命名:
/Users/clickthisnick/dev/githooks/.git/hooks/pre-push/prevent-master
到
/Users/clickthisnick/dev/githooks/.git/hooks/pre-push