当我尝试推到共享git远程时,我得到以下错误: 向存储库数据库添加对象权限不足
这适用于下一次推送,因为所有的文件都属于正确的组,但下一次有人推送一个更改时,它会在对象文件夹中创建一个新项目,该项目的默认组为组。我唯一能想到的就是改变所有开发人员签入项目的默认组,但这似乎是一种hack。什么好主意吗?谢谢。
当我尝试推到共享git远程时,我得到以下错误: 向存储库数据库添加对象权限不足
这适用于下一次推送,因为所有的文件都属于正确的组,但下一次有人推送一个更改时,它会在对象文件夹中创建一个新项目,该项目的默认组为组。我唯一能想到的就是改变所有开发人员签入项目的默认组,但这似乎是一种hack。什么好主意吗?谢谢。
当前回答
我只是想加入我的解。我在OS X上有一个回购,在一些目录上有根所有权,在其他目录上有Home(这是我的用户目录),这导致了上面列出的相同错误。
谢天谢地,解决办法很简单。从终端:
sudo chown -R Home projectdirectory
其他回答
最简单的解决方案是:
来自项目总监:
sudo chmod 777 -R .git/objects
确保以admin身份打开命令行提示符。然后,确保项目文件不是只读的。
在windows中,您可以通过右键单击项目文件夹来检查->单击“显示更多选项”->单击“属性”->取消选择“只读”->单击“应用”
适用于Ubuntu(或任何Linux)
从项目根,
cd .git/objects
ls -al
sudo chown -R yourname:yourgroup *
你可以通过以下方式说出你的名字和你所在的小组:
# for yourname
whoami
# for yourgroup
id -g -n <yourname>
注意:记住sudo行末尾的星号
当我进入Rstudio项目时,我得到了这个。我意识到我忘了做:
sudo rstudio
程序启动时。事实上,我有另一个bug,我需要做的是:
sudo rstudio --no-sandbox
您需要对要推入的目录具有足够的写权限。
在我的例子中:Windows 2008服务器
右键单击git回购目录或父目录。
属性>共享选项卡>高级共享>权限>确保用户具有适当的访问权限。