You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找引用了指定LFS对象的Git提交记录?

查找引用丢失LFS对象的提交的操作方法

你遇到的GH008报错是因为仓库历史提交中存在指向该丢失LFS对象的指针文件,git fsck --full默认仅检查Git原生对象的完整性,不校验LFS对象是否存在,因此无报错。

精准查找关联提交的命令

执行以下命令即可列出所有引用了目标LFS对象的提交哈希:

git rev-list --all | while read commit; do
  git grep -l "oid sha256:B41C79ADE3155B758388A338200A7B2A79E9FDBF48D5C4AFEDCE03886F4B873A" $commit -- ':(attr:filter=lfs)' > /dev/null
  if [ $? -eq 0 ]; then
    echo "关联提交哈希:$commit"
  fi
done

命令说明:

  • git rev-list --all 遍历本地仓库所有分支、标签对应的全量提交
  • :(attr:filter=lfs) 过滤条件仅匹配被Git LFS跟踪的文件,避免普通文件内容匹配导致的误判
  • 匹配到对应LFS对象哈希的提交会直接输出哈希值

查看提交关联的具体文件

如果需要确认是哪个文件引用了该丢失的LFS对象,执行以下命令(将<替换为查到的提交哈希>替换为上一步输出的提交哈希):
git show <替换为查到的提交哈希>:$(git grep -l "oid sha256:B41C79ADE3155B758388A338200A7B2A79E9FDBF48D5C4AFEDCE03886F4B873A" <替换为查到的提交哈希> -- ':(attr:filter=lfs)')

后续修复参考

确认不需要保留该LFS对象相关内容后,可使用git filter-repo或BFG Repo-Cleaner工具从历史记录中移除对应指针文件,清理完成后即可正常推送到GitHub仓库。

内容的提问来源于stack exchange,提问作者HelloWorld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:15:00