我只找到了git lfs ls-files,但是这个命令给予的只是一个特定参考的列表。有一种方法可以从Git仓库中获得LFS对象的整个列表吗?
git lfs ls-files
wfauudbj1#
您可以在 *Git LFS v2.4.0及更高版本 * 中使用--all标志执行此操作
--all
git lfs ls-files --all
字符串你可以在this pull request中阅读更多。
mu0hgdu02#
如果你有访问git LFS服务器的权限,你可以在lfs/objects文件夹中查看。它应该包含一个文件夹结构,就像一个搜索树一样用于存储对象。在某个级别(可能是第三层?)是对象本身。一个小例子,我刚刚转换为git(和git lfs)来测试它,看起来像这样:
lfs/objects
$ 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背后的存储系统如何工作的更深入的理解。
0s7z1bwu3#
我在GIT LFS Github上添加了一个问题:https://github.com/git-lfs/git-lfs/issues/2575
olmpazwi4#
“git lfs ls-files”命令不能按照你想要的方式列出仓库的所有LFS对象。该命令需要列出特定引用的LFS对象。如果你记得每个引用都代表仓库历史的快照,那么很容易理解为什么它不能这样做。“git ls-files”命令也会发生同样的行为,你不能同时列出所有版本库的所有文件。
4条答案
按热度按时间wfauudbj1#
您可以在 *Git LFS v2.4.0及更高版本 * 中使用
--all
标志执行此操作字符串
你可以在this pull request中阅读更多。
mu0hgdu02#
如果你有访问git LFS服务器的权限,你可以在
lfs/objects
文件夹中查看。它应该包含一个文件夹结构,就像一个搜索树一样用于存储对象。在某个级别(可能是第三层?)是对象本身。一个小例子,我刚刚转换为git(和git lfs)来测试它,看起来像这样:
字符串
在我的例子中,这是在.git文件夹中。我没有把它推到git LFS服务器上,但我假设那里的结构是一样的。这应该(据我所知)给予你所有存储在git LFS中的文件的哈希值(作为文件名)。
注意事项:我是基于对git LFS的实验和观察,而不是基于对git LFS背后的存储系统如何工作的更深入的理解。
0s7z1bwu3#
我在GIT LFS Github上添加了一个问题:https://github.com/git-lfs/git-lfs/issues/2575
olmpazwi4#
“git lfs ls-files”命令不能按照你想要的方式列出仓库的所有LFS对象。该命令需要列出特定引用的LFS对象。如果你记得每个引用都代表仓库历史的快照,那么很容易理解为什么它不能这样做。“git ls-files”命令也会发生同样的行为,你不能同时列出所有版本库的所有文件。