我只发现了git lfs ls-files,但是这个命令只给出了特定引用的列表。
有一种方法可以从GIT存储库中获取LFS对象的完整列表吗?
答案 0 :(得分:9)
答案 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