查找引用特定 LFS 对象的提交

问题描述 投票:0回答:2

我即将将本地存储库推送到新的 GitHub 存储库,但收到以下错误:

remote: error: GH008: Your push referenced
        at least 1 unknown Git LFS object:
remote:     B41C79ADE3155B758388A338200A7B2A79E9FDBF48D5C4AFEDCE03886F4B873A
remote: Try to push them with 'git lfs push --all'.

我可以确认该物体不存在。是否有命令列出哪些提交引用了该 LFS 对象?

附注

git fsck --full
不会失败

git github git-lfs
2个回答
1
投票

您尚未在源历史记录中的所有本地提交:

git rev-list  \
        $(git for-each-ref --format='%(refname)' refs/heads refs/tags) \
        --not $(git for-each-ref --format='%(refname)' refs/remotes/origin)

在所有这些中搜索 lfs 存根中对该哈希的引用:

alias doit='git for-each-ref --format="%(refname)"'
search=$( git rev-list  \
                $(doit refs/heads refs/tags) --not $(doit refs/remotes/origin)
)
git grep -i B41C79ADE3 $search -- ':(attr:filter=lfs)*'

0
投票

这是一个老话题,但以防万一:我个人只是使用

-S
git log

选项

例如

git log -Sb41c79ade3155b758388a338200a7b2a79e9fdbf48d5c4afedce03886f4b873a

(小写十六进制)表示 OP 请求。

© www.soinside.com 2019 - 2024. All rights reserved.