首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在远程主机上工作时出现Git提交权限错误

在远程主机上工作时出现Git提交权限错误
EN

Stack Overflow用户
提问于 2009-04-18 18:59:59
回答 4查看 5.5K关注 0票数 1

我正在尝试将我的网站置于版本控制之下。我使用ExpanDrive直接在服务器上工作,它使用MacFUSE将SFTP连接挂载为本地卷,我可以使用终端和其他本地应用程序访问该卷。

无论如何,一切都很顺利,直到我尝试提交,当我收到这条消息时:

代码语言:javascript
复制
fatal: exec .git/hooks/pre-commit failed.

如果我尝试手动运行exec命令,我会看到以下内容:

代码语言:javascript
复制
-bash: /Volumes/1&1 Internet/website/.git/hooks/pre-commit: Permission denied
-bash: exec: /Volumes/1&1 Internet/website/.git/hooks/pre-commit: cannot execute: Unknown error: 0

我已经尝试使用我的SFTP客户端来授予.git目录下的所有内容完全(777)权限,但仍然没有成功。还有没有人知道我还能做些什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-09 03:03:44

我最终在我的笔记本电脑上建立了一个本地开发环境,我放弃了通过ExpanDrive使用git的尝试。在花了更多的时间之后,这些工具似乎就是不能在一起工作。

票数 0
EN

Stack Overflow用户

发布于 2009-04-19 03:21:03

通过授予.git目录下的所有内容完全(777)权限,您已经在.git/hooks中启用了Git附带的所有示例脚本,通常是关闭它们的执行位。当您尝试commit时,现在可执行的示例预提交脚本尝试运行以将提交格式化为补丁。

除非这是您想要做的,否则我建议您将chmod /git/hooks/*设置为644,这样钩子脚本就不会执行。

编辑--重置钩子权限可以使您恢复到最初出现问题时的状态。接下来,使用--no-verify标志尝试提交,这将绕过预提交挂钩(以及对提交消息的一些次要检查)。这可能是一种解决办法,但我仍然不明白为什么会出现最初的问题。代码看起来非常简单--如果不启用它,我不知道它如何尝试执行这个钩子。如果以同样的方式失败,那么我会认为ExpanDrive/MacFuse系统没有正确处理权限(但这是非常不可能的)。

票数 2
EN

Stack Overflow用户

发布于 2009-10-16 20:25:23

我相信最近版本的git使用了不同于权限的机制来启用钩子。因此,如果您使用的是最新版本,您可能会从.git/hooks目录中删除所有内容(或者将其移动到其他地方),并查看这是否是问题所在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/763956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档