Git 挂钩权限被拒绝

问题描述 投票:0回答:4

当我尝试运行时

git commit -m 'message here'
我收到以下错误。

fatal: cannot exec '.git/hooks/prepare-commit-msg': Permission denied

这个问题是在我在 ubuntu 上创建一个新分区并在其中克隆存储库后开始的。

git githooks ubuntu-20.04
4个回答
9
投票

您需要使您的文件可执行,下面的代码片段将使文件对所有者、组和世界可执行:

$ chmod +x .git/hooks/prepare-commit-msg

1
投票

对我来说,

chmod +x
对于那些 git hook 没有帮助,我不得不删除该文件(将其移至
{filename}.bak
)。

不过,我认为这不是一个很好的解决方案。


0
投票

对我来说,我收到了错误

fatal: cannot exec '.git/hooks/pre-push': Permission denied

将安德烈亚斯的答案应用于此错误消息,我尝试了

$ chmod +x .git/hooks/pre-push
,并且修复了它。随后的
commit
push
命令成功执行。

显然,涉及两个 git hook 的

fatal: cannot exec ... : Permission denied
错误可以用相同的方式解决。


0
投票

我能够解决这个问题:

  1. 运行以下命令检查文件的权限:

    ls -l .git/hooks/prepare-commit-msg

  2. 如果文件属于其他用户,您可以更改所有权

    sudo chown $(whoami) .git/hooks/prepare-commit-msg

© www.soinside.com 2019 - 2024. All rights reserved.