我有git错误:每次我做“git push origin master”的时候,“添加一个对象到版本库数据库的权限不够”。
我试过这里描述的解决scheme: http : //parizek.com/2011/05/git-insufficient-permission-for-adding-an-object-to-repository-database-objects/,但它只能工作,直到下一次…
有一些永久的解决scheme吗?
$ git push origin master Counting objects: 5, done. Delta compression using up to 2 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 1.19 KiB, done. Total 3 (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 To ssh://user@git.code.sf.net/p/project/code ! [remote rejected] master -> master (n/a (unpacker error)) error: failed to push some refs to 'ssh://user@git.code.sf.net/p/project/code' $ git config core.sharedRepository true $ git push origin master Counting objects: 5, done. Delta compression using up to 2 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 1.19 KiB, done. Total 3 (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 To ssh://user@git.code.sf.net/p/project/code ! [remote rejected] master -> master (n/a (unpacker error)) error: failed to push some refs to 'ssh://user@git.code.sf.net/p/project/code' $ sudo chmod -R g+ws * $ sudo chgrp -R andrey * $ git push origin master Counting objects: 5, done. Delta compression using up to 2 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 1.19 KiB, done. Total 3 (delta 2), reused 0 (delta 0) remote: <Repository /git/p/project/code.git> refresh queued. To ssh://user@git.code.sf.net/p/project/code acd82d2..f401c90 master -> master
这是我使用的Ubuntu:12.04.1,和git:1.7.9.5
正如在“ 错误推送到GitHub – 没有足够的权限将对象添加到存储库数据库 ”中所述,除了git配置设置之外,还需要:
umask 002
: umask 002
(所以在您的服务器端) rw
如解决方案中所述,仍在服务器端。 这通常发生在有人嘲笑根的时候。 该进程中创建的.git / *文件受到外部更改的保护。
chmod -R 777 .git
是一个快速修复。