当我尝试推到共享git远程时,我得到以下错误: 向存储库数据库添加对象权限不足
这适用于下一次推送,因为所有的文件都属于正确的组,但下一次有人推送一个更改时,它会在对象文件夹中创建一个新项目,该项目的默认组为组。我唯一能想到的就是改变所有开发人员签入项目的默认组,但这似乎是一种hack。什么好主意吗?谢谢。
当我尝试推到共享git远程时,我得到以下错误: 向存储库数据库添加对象权限不足
这适用于下一次推送,因为所有的文件都属于正确的组,但下一次有人推送一个更改时,它会在对象文件夹中创建一个新项目,该项目的默认组为组。我唯一能想到的就是改变所有开发人员签入项目的默认组,但这似乎是一种hack。什么好主意吗?谢谢。
当前回答
我通过使用ssh://基于URL而不是基于http://的URL解决了这个问题。
几天前,我使用基于http://的URL克隆了存储库。在克隆和推送之间,我不得不在我的帐户上启用2FA,随后将我的公钥添加到代码库中。
由于启用了2FA, http:// URL无法正常工作。
其他回答
您需要对要推入的目录具有足够的写权限。
在我的例子中:Windows 2008服务器
右键单击git回购目录或父目录。
属性>共享选项卡>高级共享>权限>确保用户具有适当的访问权限。
对我有用
sudo chmod -R g+rwX .
只需复制并粘贴到您自己的终端。
sudo chown -R "${USER:-$(id -un)}" .
适用于Ubuntu(或任何Linux)
从项目根,
cd .git/objects
ls -al
sudo chown -R yourname:yourgroup *
你可以通过以下方式说出你的名字和你所在的小组:
# for yourname
whoami
# for yourgroup
id -g -n <yourname>
注意:记住sudo行末尾的星号
我在Samba共享上的远程存储库遇到了这个问题;我成功地从这个遥控器上拉了出来,但在推它的时候失败了。
错误的原因是我的~/中的凭据不正确。smbcredentials文件。