无法像普通用户一样推送到git存储库

时间:2014-05-05 17:05:45

标签: linux git file-permissions gitlab

关于这个问题有几篇好文章,但我不确定它们是否适用于我的情况。

Error pushing to GitHub - insufficient permission for adding an object to repository database

Git Push Error: insufficient permission for adding an object to repository database

以普通用户身份执行推送时,收到以下错误:

remote: error: insufficient permission for adding an object to
    repository database ./objects

请注意,如果我以root用户身份登录本地计算机,则可以推送。我从下面看到原点是git@easybbb.com:root我不知道它是否重要,但是我试图推送的远程存储库是由我使用GitLab托管的。

本地git目录是0775并且属于组“www”,我已执行chmod -R g+rwxs /var/www/以确保新文件属于组“www”,正在尝试推送的普通用户属于组“ www“,我已经执行了git config core.sharedRepository group

如何解决此错误?

git push origin master
Counting objects: 11, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 487 bytes | 0 bytes/s, done.
Total 6 (delta 5), reused 0 (delta 0)
remote: error: insufficient permission for adding an object to repository database ./objects
remote: fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit
To git@easybbb.com:root/bidjunction.git
 ! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to 'git@easybbb.com:root/bidjunction.git'

git remote -v
origin  git@easybbb.com:root/bidjunction.git (fetch)
origin  git@easybbb.com:root/bidjunction.git (push)

1 个答案:

答案 0 :(得分:1)

与许多类似的问题无关。关键是"远程:错误:"。问题是远程存储库(GitLab类似于GitHub)。使git拥有的所有相关文件解决了这个问题。