Git error: unable to create temprary file & error building trees with no further info?
Git error: unable to create temprary file & error building trees with no further info?
我正在尝试对我的存储库进行新的更改,但失败并出现以下错误:
error: unable to create temporary file: Invalid argument
error: unable to create temporary file: Invalid argument
error: Error building trees
当其他人遇到类似问题时,错误将指向导致问题的特定 file/object,但是这里没有其他信息可以继续。
(Windows 10,通过终端和命令尝试)
Git 真的应该在这里打印路径,是的。错误似乎来自 object-file.c:write_loose_object(),在正常情况下,它将在 .git/objects
内创建一个临时文件。
EINVAL
错误案例应该永远不会发生,因为对象路径本身必然有效(否则它是如何实现的是否存在?)并且生成的临时文件名完全使用“安全”字符。因此,错误消息中缺少的 filename.buf
永远不应该首先出现。在你的情况下,错误确实出现了,filename.buf
缺少 %s
意味着我们看不到你的 OS 反对的路径。
您可以构建 Git 的调试版本或专用版本(添加缺失的路径)来查找,或使用您必须的任何系统调用跟踪工具以其他方式观察失败的系统调用。找出 OS 拒绝创建松散对象临时文件的尝试的原因,并更正潜在的问题。同时,您可能想将此报告给 Git 邮件列表。
我发现了问题 - 项目文件夹正在与 OneDrive 同步,这损坏了(重新分析点缓冲区中存在的标签无效)objects
文件夹内 .git
。可以通过视觉方式找出问题所在(对我来说,这是唯一一个带有蓝色 OneDrive 同步箭头而不是绿色勾号的文件夹,并且该文件夹无法打开)。另一种方法是将有问题的分支克隆到一个新文件夹中,做一个小改动(我创建了一个test.txt
,里面写着“测试”),将它推到git,然后回到有问题的项目文件夹并尝试从 git 中提取新的更改。此操作失败并指向损坏的对象。
为了解决这个问题,我研究了如何处理 OneDrive 损坏的文件,最常见的建议是在命令提示符(作为管理员)中 运行 chkdsk c: /r /f
,当计算机启动时重新启动。请注意,它可能需要几个小时才能完成。
一般 Windows 解决方案(在 Windows 10 和 11 上测试):
我收到错误消息是因为 windows 将文件夹置于只读模式
取消选择只读,然后点击应用并确定
我正在尝试对我的存储库进行新的更改,但失败并出现以下错误:
error: unable to create temporary file: Invalid argument
error: unable to create temporary file: Invalid argument
error: Error building trees
当其他人遇到类似问题时,错误将指向导致问题的特定 file/object,但是这里没有其他信息可以继续。
(Windows 10,通过终端和命令尝试)
Git 真的应该在这里打印路径,是的。错误似乎来自 object-file.c:write_loose_object(),在正常情况下,它将在 .git/objects
内创建一个临时文件。
EINVAL
错误案例应该永远不会发生,因为对象路径本身必然有效(否则它是如何实现的是否存在?)并且生成的临时文件名完全使用“安全”字符。因此,错误消息中缺少的 filename.buf
永远不应该首先出现。在你的情况下,错误确实出现了,filename.buf
缺少 %s
意味着我们看不到你的 OS 反对的路径。
您可以构建 Git 的调试版本或专用版本(添加缺失的路径)来查找,或使用您必须的任何系统调用跟踪工具以其他方式观察失败的系统调用。找出 OS 拒绝创建松散对象临时文件的尝试的原因,并更正潜在的问题。同时,您可能想将此报告给 Git 邮件列表。
我发现了问题 - 项目文件夹正在与 OneDrive 同步,这损坏了(重新分析点缓冲区中存在的标签无效)objects
文件夹内 .git
。可以通过视觉方式找出问题所在(对我来说,这是唯一一个带有蓝色 OneDrive 同步箭头而不是绿色勾号的文件夹,并且该文件夹无法打开)。另一种方法是将有问题的分支克隆到一个新文件夹中,做一个小改动(我创建了一个test.txt
,里面写着“测试”),将它推到git,然后回到有问题的项目文件夹并尝试从 git 中提取新的更改。此操作失败并指向损坏的对象。
为了解决这个问题,我研究了如何处理 OneDrive 损坏的文件,最常见的建议是在命令提示符(作为管理员)中 运行 chkdsk c: /r /f
,当计算机启动时重新启动。请注意,它可能需要几个小时才能完成。
一般 Windows 解决方案(在 Windows 10 和 11 上测试): 我收到错误消息是因为 windows 将文件夹置于只读模式
取消选择只读,然后点击应用并确定