无法取消链接.git/objects/...: 操作不被允许

3

当我从远程的开发分支拉取代码时,我会得到一长串类似于以下的信息:

unable to unlink .git/objects/fe/4f55215c297e73e7115d0792257155fa1a0307: Operation not permitted

按照这里的建议,我关闭了IntelliJ和所有其他打开的编辑器,但错误仍然存在。

此处所述,我尝试对所有文件进行chflags操作,但没有任何作用。

我还尝试了将所有文件的拥有者更改为我的用户,并使用chmod强制写入权限,无论是在文件上还是在目录本身上,递归地(从我的用户和sudo中都尝试了+ x,然后775),但是均无效。

我无法摆脱这些消息。 这只会在拉取develop时发生。 其他分支都没问题。


这条消息是来自本地 Git 仓库还是远程 Git 仓库? - Jan Marek
你能手动删除它们吗? - AnoE
从本地存储库中。奇怪的是,我可以取消它们的链接:我尝试取消其中一个的链接,没有收到任何错误;我重复了相同的命令,然后收到了一个正确的错误,告诉我该文件不存在(因为我已经取消了链接)。然而,当我再次尝试拉取时,同一文件在消息列表中再次被报告。 - Totem
1个回答

2
我在工作中经常遇到这种情况。我们的团队由2个Windows用户,3个Linux用户和1个iOS用户组成。某个地方有人会推送具有不良权限的文件,导致现场Linux服务器有时会出问题。
我一直发现解决方法就是简单地删除gc.log文件,例如:
rm .git/gc.log
然后在下一次拉取时,所有错误都将消失。我认为实际上发生的是,文件在第一次被取消链接,但日志文件没有正确更新,因此在下一次拉取时,它会尝试再次删除它们,即使它们不存在,并抛出错误。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接