仅对于一个文件,我收到以下错误:
error: unable to write sha1 filename /opt/www/.git/objects/3f/ce3587c54a8be14c69b08c6b01f94949b11b47: Permission denied
error: wp/wp-admin/css/theme-install.dev.css: failed to insert into database
fatal: unable to index file wp/wp-admin/css/theme-install.dev.css
我检查了我对有问题的文件、有问题的**.git对象目录以及.git**本身的权限。我可以添加除此文件之外的任何其他文件。我能看到那份文件,摸也没什么用。权限都是正确的。
这是什么疯狂的虫子吗?
4条答案
按热度按时间vvppvyoh1#
如果您使用的是VISUAL STUDIO或生成MDF文件的类似工具,只需关闭VS并重试您的git命令即可。这一次,它应该会奏效。
要保存经常关闭和重新打开,您应该在项目根目录的.gitignore文件中添加引用。例如,如果问题是由数据库引起的,则添加以下内容:
imzjd6km2#
查看Git源代码(
sha1_file.c
,函数move_temp_to_file()
),Git似乎无法将名为/opt/www/.git/objects/3f/tmp_obj_XXXXXX
的临时文件(其中XXXXXX
是六个随机字符)重命名为/opt/www/.git/objects/3f/ce3587c54a8be14c69b08c6b01f94949b11b47
。如果您没有在/opt/www/.git/objects/3f
中删除文件的权限,则可能会发生这种情况。以下是一些值得尝试的事情:
git config core.sharedRepository 0664
的命令(有关详细信息,请参阅git help config
),以确保新创建的目录和文件对该存储库的所有用户具有适当的权限。rm -f /opt/www/.git/objects/3f/tmp_obj_*
,看看这是否能解决问题。请确保以遇到错误的用户身份运行上述命令。
chown
ing和e1d10d1到对象目录。bxjv4tth3#
只需关闭Visual Studio(或Unity)并尝试再次添加这些文件。
jdgnovmf4#
您没有写入
/opt/www/.git/objects/3f
的权限。最快的解决方案是使用
sudo
命令以超级用户权限执行命令。sudo <Your git command>
为我解决了这个问题。