Git LFS:从整个存储库获取完整列表

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

我只找到了

git lfs ls-files
,但此命令仅给出来自特定参考的列表。

有办法从 Git 存储库获取 LFS 对象的完整列表吗?

git git-lfs
4个回答
66
投票

您可以在 Git LFS v2.4.0 及更高版本中使用

--all
标志

执行此操作
git lfs ls-files --all

您可以在此拉取请求中阅读更多相关信息。


3
投票

如果您有权访问 git LFS 服务器,则可以查看

lfs/objects
文件夹。应包含一个文件夹结构,其工作方式类似于存储对象的搜索树。在某种程度上(也许是第三?)是物体本身。

一个小项目的小例子,我刚刚转换为 git (和 git lfs)来测试它,如下所示:

$ ls lfs/objects/*/*
lfs/objects/9f/ef:
9fef0fcd855a78effd175cdf5a49a14b57334b40f1ad0c75317d6cbc0bb29595

lfs/objects/a5/f2:
a5f207bf721d3cbf62d298b6e2c9fa7cbdb3e37c7f44590a6c8be76560d7b9d7

lfs/objects/ca/63:
ca631009296d9de54dde2f70fec997aa0b22f624ed8f6fecc763c684317ba825

就我而言,它位于 .git 文件夹内。我还没有将它推送到 git LFS 服务器,但我认为那里的结构是相同的。这应该(据我所知)为您提供存储在 git LFS 中的所有文件的所有哈希值(作为文件名)。

注意:我的基础是对 git LFS 进行实验并注意会发生什么。不是来自对 git LFS 背后的存储系统如何工作的任何更深入的理解。


2
投票

我在 GIT LFS Github 上添加了一个问题:https://github.com/git-lfs/git-lfs/issues/2575


1
投票

“git lfs ls-files”命令无法按照您想要的方式列出存储库的所有 LFS 对象。该命令需要列出 LFS 对象以供特定参考。如果您还记得每个引用都代表存储库历史记录的快照,那么就很容易理解为什么它不能这样做。 “git ls-files”命令也会发生相同的行为,您无法同时列出所有存储库修订(提交)的所有文件。

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