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

情况: 远程服务器上创建了一个远程托管仓库,所有者为git:git,并且在远程服务器上使用其它用other_user clone该仓库到某个工作文件夹work_directory,当修改内容并push时会报错: remote: error: insufficient permission for adding an object to repository database。 这种情况是远程仓库权限导致的,push时的身份是other_user

解决思路:
推送时临时使用git身份:

sudo -u git git push origin 

这样做还有有一些问题,work_directory/.git/logs work_directory/.git/refs的所有者都是other_user导致无法更新本地信息,解决办法是这两个文件夹给予其他用户写权限:

chmod -R  o+w .git/logs/
chmod -R  o+w .git/refs/

现在再次sudo -u git git push origin 就可以了。

你可能感兴趣的:(git)