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

最近搭建git服务器的时候,出现了这个问题,在这里写一下自己的解决方案。


Counting objects: 9, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 506 bytes, done.
Total 5 (delta 2), reused 0 (delta 0)
error: insufficient permission for adding an object to repository database ./objects
fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit

先说一下上面的这句话的意思,这句话时说,没有权限操作./object,我们首先要理解为什么没有权限,没有权限时因为自己的账户没有权限,而不是git没有权限。

说一下解决方案,首先,网上都会告诉你,整个git仓库文件夹的权限的问题,因为没有配置权限为git。你需要到git的目录下,执行:

ls -la
你会看到当前你的仓库中的目录的权限如下:

drwxrwxr-- 3 git git 4096 May 28 11:14 .
drwxr-xr-x 5 git git 4096 May 28 11:13 ..
drwxrwxr-- 8 git git 4096 May 28 12:43 .git
我上面的显示为git用户,git组,有些指导就说是因为上面的文件夹为root权限,记住修改为这个权限。操作如下:

$sudo chown -R git:git test.git

可以解决很多人的问题,但是不凑巧,我的就不行。为什么不行呢,因为我不是用git账户登录的,我的账号名称为sunrise,好了既然是另一个账户,当然不能这么做了,解决方法是,把当前的账户加入到git组,或者把上面的文件夹的权限修改为777.

chmod -R 777 test.git
或者

usermod -a -G groupA use
都可以解决问题,希望你能少走弯路。

欢迎大家登录我的 个人网站

你可能感兴趣的:(android)