Git: git lfs 迁移后的 "The system cannot find the path specified."

标签 git gitlab git-lfs

我正在尝试迁移较旧的 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/

相关文章:

防止从特定分支创建新分支的 Git 钩子(Hook)

git - 更新本地但无法推送

linux - 无法在 Linux Mint 17.3 上安装 git

git - 迁移到 LFS 后存储库仍然很大

apache - 如何允许通过 http 匿名推送到 git 存储库?

使用 git filter-branch 然后 git push --force 清除大文件后,远程(Gitlab)上的 Git 存储库大小仍然很大

gitlab - .gitlab-ci.yml 中的 `cache:key` 有什么意义?

git - 如何指定 Git LFS 文件的存储位置?

Git checkout 分支并修剪与先前 checkout 相关的所有内容(包括 git-lfs 保留)

Gitlab - 关键跟踪器集成