从 git lfs 对象哈希获取文件路径

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

我目前遇到 git lfs 错误,该错误阻止我将本地提交推送到远程服务器。错误消息包含可能有问题的 git lfs 对象的哈希值,但不包含其在工作树中相应的文件路径。我如何才能从 git lfs 哈希中获取这个有问题的文件的路径,以便我可以仔细查看它?

以下是完整的错误消息供参考(已编辑 URL 以符合我雇主的 NDA):

LFS: Client error: https://dev.azure.com/my_organization/my_project/_git/my_repository/info/lfs/objects/9bf017ecdcfe64013cf704f92e145f47e5f91792f8a8eee791af9b730392d590 from HTTP 413
error: failed to push some refs to 'https://dev.azure.com/my_organization/my_project/_git/my_repository'

我已经尝试过 this stackoverflow 答案中的 shell 脚本,但如果我用我的对象哈希调用它,它似乎不会打印任何结果(

./git-hash-to-filepath.sh f56f7109f17b227a830d9edc24e447a0637bebba409527c24007c68a1c400cc8
)。

git git-lfs
1个回答
1
投票

您指出的问题提供了一种查找存储在 git 中(而不是 lfs 中)的 blob 的方法。 我不是100%熟悉

git lfs

的细节,我认为你的文件在git存储中被替换为包含你看到的id的文本文件(

9bf017ecd...
)
如果是这种情况,您可以尝试使用 

-S

的镐选项(

-G
git log
)来发现此 id 出现或消失的提交:
git log --graph --oneline -G 9bf017ecdcfe64013cf704f92e145f47e5f91792f8a8eee791af9b730392d590

# to view which file(s) contain that string, add --name-only or --name-status
git log --name-status --graph --oneline -G 9bf017ecdcfe64013cf704f92e145f47e5f91792f8a8eee791af9b730392d590

链接到文档:

git help log

-S
-G
部分

    

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