我正在尝试迁移较旧的 git 存储库以使用 lfs。我之前使用 git lfs migrate import --everything --include="*.png"成功将 png 图像迁移到 lfs (我认为 png 只适用于存储库中的大型二进制文件)。
现在我注意到那里还有一个 xcf 源文件。所以我尝试使用 git lfs migrate import --everything --include="*.xcf"来迁移它。
但是,当我现在尝试 git push -f
更新它时,出现以下错误:
PS C:\Users\Pablo\Dev\war-systems> git push -f
open C:\Users\Pablo\Dev\war-systems\Unity - War Systems\Assets\Plugins\badpix\message-16-help.png: The system cannot find the path specified.
error: failed to push some refs to 'https://gitlab.com/TheOddler/war-systems.git'
文件 message-16-help.png
是在开发过程中的某个时刻被删除的旧文件。它不在 HEAD
中,但在某些时候它是。
为什么现在会发生这种情况?我该如何解决它?
如果重要的话,我正在尝试推送到 gitlab。
最佳答案
此错误消息(将在 Git LFS 2.7.0 中得到改进)意味着您缺少需要推送的所有 LFS 对象。如果您缺少 LFS 对象,Git LFS 将尝试在当前工作目录中查找该文件以包含它,希望它仍然存在。在本例中,情况并非如此。
您应该尝试通过运行 git lfs fetch --all
来查找丢失的 .png
文件,然后再次尝试推送。如果这不起作用,则您的存储库已损坏并且您丢失了数据。您可以尝试使用指定的所有路径再次导入,或者可以使用 GIT_TRACE=1
运行推送并在输出中找到丢失的对象,然后从另一个存储库复制它(如果您这样做)有一个。
关于Git: git lfs 迁移后的 "The system cannot find the path specified.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53839454/