当我们使用SourceTree和我们的特定Git存储库时,我们一直看到弹出一个对话框,并显示错误消息:
代码128'摘要'失败:致命:无法读取树152c27e57424de6ae0df1f0d32feba7beae6e2fb
每天多次弹出错误消息。
日志中没有其他信息,我们无法在命令行上使用Git重现错误消息。当我们进行一些测试时:
Craig@DEMO-PC /d/project (major)
$ git cat-file -t 152c27e
tree
Craig@DEMO-PC /d/project (major)
$ git cat-file -p 152c27e
040000 tree 174f073109a9d0721b35e84140d0a7b29dc48ef9 main
040000 tree fb011d0153c1521441d583196a93f945dcb0df1e test
运行git ls-tree -r 152c27e
吐出树的所有子节点,这确认它是我们Java项目的src
文件夹。
此外,git fsck --full
成功且没有错误。对象和对象目录的形状为100%,并且没有悬空项。对象的权限似乎很好。
我们可以做些什么来仔细检查我们的存储库状态,或尝试重现错误消息吗?
答案 0 :(得分:7)
它可能是permission issue,其中:
有similar case reported back in February 2013, without any answer 但它不仅限于SourceTree:
擦除工作区可以完全解决问题。
不知怎的,Redmine使用私钥来验证git用户在gitolite配置中重命名。
因此,这通常与以与预期用户不同的用户访问数据的过程有关。