最近搭建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
说一下解决方案,首先,网上都会告诉你,整个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都可以解决问题,希望你能少走弯路。