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

时间:2017-09-11 12:33:23

标签: git git-lfs

我只发现了git lfs ls-files,但是这个命令只给出了特定引用的列表。

有一种方法可以从GIT存储库中获取LFS对象的完整列表吗?

4 个答案:

答案 0 :(得分:9)

您可以使用--all标志在 Git LFS v2.4.0和更高版本中完成此操作

git lfs ls-files --all

您可以在this pull request

中了解更多信息

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如果您有权访问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背后的存储系统如何工作的任何更深入的理解。

答案 3 :(得分:0)

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