错误,当从 git 拉-不足的权限添加一个对象到存储库数据库。 git/对象

我有 git 错误: “向存储库数据库添加对象的权限不足。每次我使用“ git pull source development”。

    remote: Counting objects: 70, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 42 (delta 35), reused 42 (delta 35)
error: insufficient permission for adding an object to repository database     .git/objects


fatal: failed to write object
fatal: unpack-objects failed
86961 次浏览

假设@ChrisHayes 关于一个意外 sudo 的猜测是正确的,那么这个应该可以修复它:

sudo chown -R $USER:$USER "$(git rev-parse --show-toplevel)/.git"

更新 : 对于那些得到 illegal group name错误的人,可以尝试这样做:

sudo chown -R $(id -u):$(id -g) "$(git rev-parse --show-toplevel)/.git"

不是一个好的做法(只是一个选择)

我正在使用 Ubuntu,面临着同样的问题。为了解决这个问题,我只是将用户切换到 root 用户,没有看到进一步的错误。

$su
password

然后,

$git pull origin master

推荐方法: 更改目录的权限

我的是一个愚蠢的错误... 正确的用户名和组设置,但 www-data 的帐户访问它。这个目录属于 vaindil: www-data,但是权限是755,所以 www-data 不能写入它。修正了:

$ sudo chmod -R 775 /path/to/repo

转到项目的根目录并运行以下命令来修复此问题,

cd .git/objects
sudo chown -R yourname:yourgroup *

如果您试图从 github 克隆一个公共存储库,那么可以从 url 中删除.git。

例如:

来自: < a href = “ https://github.com/example/storeitory.git”rel = “ nofollow norefrer”> https://github.com/example/repository.git 致: < a href = “ https://github.com/example/itory”rel = “ nofollow norefrer”> https://github.com/example/repository