LFS 上传丢失的对象,但文件在那里
LFS upload missing object but the file is there
我正在尝试推送提交。但我一直收到一条错误消息:
error: GH008: Your push referenced at least 1 unknown Git LFS object
它正在查询的文件是:
(missing) SRP/com.unity.shadergraph/.data/texture_2d_lod_node.PNG (b262d71d68d478f6b6c3dc3086451a764e065b8608a65104e17cb8aefefa5f76)
现在我转到文件夹,发现该文件确实存在:
所以我的问题是为什么它一直给我这个错误?
LFS 对象存储中似乎缺少该对象。 LFS 对象位于 .git/lfs/objects。如果您丢失的对象在那里,它将位于 b2/62/d71d68...
之类的路径中
git-lfs 在暂存文件之前运行清理过滤器时添加对象。假设丢失的对象是文件的最新版本,您可以使用如下命令强制清理过滤器重新运行:
git add --renormalize path/to/file
该错误意味着您的 Git 推送包含对从未上传到服务器的 Git LFS 对象的引用。
尝试 运行 git lfs push origin --all
上传所有本地 Git LFS 对象。之后 git push
应该可以工作。
背景:
Git LFS 的工作原理是将大文件存储在 Git 存储库之外的数据存储中。然后,单独存储的文件仅通过 Git 存储库中所谓的 Git LFS 指针文件进行引用(您可以在 Git LFS 101). If a Git LFS user has a misconfigured local client 中了解更多信息,然后可能会添加 LFS 文件并本地引用但未上传到 LFS 数据存储。因此,存储库的任何其他用户将无法下载引用的 LFS 文件,并且存储库将处于损坏状态。error: GH008: Your push referenced at least 1 unknown Git LFS object
保护用户免受那种情况。
当您从一个远程存储库迁移到另一个时,可能会发生这种情况。假设旧存储库被命名为 old-origin
,
git lfs fetch --all old-origin
git lfs push origin --all
应该同步您 git 提交历史中的所有 LFS 对象。
我正在尝试推送提交。但我一直收到一条错误消息:
error: GH008: Your push referenced at least 1 unknown Git LFS object
它正在查询的文件是:
(missing) SRP/com.unity.shadergraph/.data/texture_2d_lod_node.PNG (b262d71d68d478f6b6c3dc3086451a764e065b8608a65104e17cb8aefefa5f76)
现在我转到文件夹,发现该文件确实存在:
所以我的问题是为什么它一直给我这个错误?
LFS 对象存储中似乎缺少该对象。 LFS 对象位于 .git/lfs/objects。如果您丢失的对象在那里,它将位于 b2/62/d71d68...
之类的路径中git-lfs 在暂存文件之前运行清理过滤器时添加对象。假设丢失的对象是文件的最新版本,您可以使用如下命令强制清理过滤器重新运行:
git add --renormalize path/to/file
该错误意味着您的 Git 推送包含对从未上传到服务器的 Git LFS 对象的引用。
尝试 运行 git lfs push origin --all
上传所有本地 Git LFS 对象。之后 git push
应该可以工作。
背景:
Git LFS 的工作原理是将大文件存储在 Git 存储库之外的数据存储中。然后,单独存储的文件仅通过 Git 存储库中所谓的 Git LFS 指针文件进行引用(您可以在 Git LFS 101). If a Git LFS user has a misconfigured local client 中了解更多信息,然后可能会添加 LFS 文件并本地引用但未上传到 LFS 数据存储。因此,存储库的任何其他用户将无法下载引用的 LFS 文件,并且存储库将处于损坏状态。error: GH008: Your push referenced at least 1 unknown Git LFS object
保护用户免受那种情况。
当您从一个远程存储库迁移到另一个时,可能会发生这种情况。假设旧存储库被命名为 old-origin
,
git lfs fetch --all old-origin
git lfs push origin --all
应该同步您 git 提交历史中的所有 LFS 对象。