3

我有一个共享的 git 存储库,我们遇到了推送导致错误消息“将对象添加到存储库数据库./objects 的权限不足”的问题

我已经在这里阅读了解决方案:推送到 GitHub 时出错 - 向存储库数据库添加对象的权限不足,这里:让 git push 尊重权限?并在网上搜索其他解决方案或类似问题,但没有成功。存储库未配置为 sharedRepository = 0660,但现在已配置。我还尝试了“group”、“true”和“all”,但它们也没有解决问题。

当我对远程存储库执行 git push 时,它仍然会创建具有“-r--r-----”访问权限的文件。例如 ls -l 输出的文件 ./objects/0f/87b18a145ebd187cc1e5bed9f6ea90901bc207 :

-r--r----- 1 rcosta project 166 2012-07-04 20:25 87b18a145ebd187cc1e5bed9f6ea90901bc207

git配置是:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = true
    sharedRepository = 0660

我已经使用chmod -R g+ws *. 我也为访问该项目的所有其他用户完成了此操作。我不是系统管理员,所以他们每个人都登录并执行了命令。所有用户都属于该project组。

我们通过 SSH 访问存储库。通过执行命令行克隆了每个成员的存储库:

git clone username@uni-server.de:/path/to/projectname.git

我对如何解决这个问题一无所知。所有文件都应该对“项目”组的所有用户具有读写权限,以便每个人都可以更改和推送任何文件。

谢谢你的帮助!
罗伯特。

4

1 回答 1

0

我会在远程仓库上运行以下命令:

    git config core.filemode false

这应该可以防止 git 识别所有权/权限的更改。我在您提供的配置中看到 filemode 设置为 true,这意味着当文件被推送到远程时,权限也会被推送。

我至少会从那里开始。

于 2012-07-04T20:58:49.260 回答