当我尝试运行时
git commit -m 'message here'
我收到以下错误。
fatal: cannot exec '.git/hooks/prepare-commit-msg': Permission denied
这个问题是在我在 ubuntu 上创建一个新分区并在其中克隆存储库后开始的。
您需要使您的文件可执行,下面的代码片段将使文件对所有者、组和世界可执行:
$ chmod +x .git/hooks/prepare-commit-msg
对我来说,
chmod +x
对于那些 git hook 没有帮助,我不得不删除该文件(将其移至{filename}.bak
)。
不过,我认为这不是一个很好的解决方案。
对我来说,我收到了错误
fatal: cannot exec '.git/hooks/pre-push': Permission denied
。
将安德烈亚斯的答案应用于此错误消息,我尝试了
$ chmod +x .git/hooks/pre-push
,并且修复了它。随后的 commit
和 push
命令成功执行。
显然,涉及两个 git hook 的
fatal: cannot exec ... : Permission denied
错误可以用相同的方式解决。
我能够解决这个问题:
运行以下命令检查文件的权限:
ls -l .git/hooks/prepare-commit-msg
如果文件属于其他用户,您可以更改所有权
sudo chown $(whoami) .git/hooks/prepare-commit-msg