26

我只是想知道是否有人可以解决我对使用 Git 大文件存储的一些困惑。

创建新存储库时,我知道如何使用 跟踪某些文件git lfs track,但是如何指定这些文件的存储位置?

例如,在我正在处理的项目中,有许多 png 和 wav 文件。这些正在使用git lfs track. Git LFS 网站说它们存储在远程服务器上,但我无法找到该信息在我们的存储库中的位置。

此外,当第二个用户克隆 repo 时,项目只包含指向 LFS 对象的指针。他们如何找到/使用存储实际文件的遥控器的 url?

(我们使用 Bitbucket 和本地系统 git 作为我们的仓库。)

4

3 回答 3

10

Git Lfs 网站说它们存储在远程服务器上,但我无法找到该信息在我们的存储库中的位置。

它们不存储存储库中,至少在技术意义上是这样。git-lfs 添加了第二个区域,即大文件存储区域,它是存储库的对等点。大文件存储在那里。

我本来希望 BitBucket 在他们的网站上以有意义的方式呈现这些信息。

此外,当第二个用户克隆 repo 时,项目只包含指向 LFS 对象的指针。

他们需要安装 git-lfs。那就是负责下载和上传大文件内容的程序。

于 2015-10-04T08:02:32.743 回答
3

Git-LFS 存储服务器由lfs.url属性指定,例如:

git config lfs.url https://github.com/foo/bar.git/info/lfs

默认(lfs.url未设置时)是使用一些启发式方法从远程 URL 派生 Git-LFS 服务器 URL:git@github.com:foo/bar.git -> https://github.com/foo/bar.git/info/lfs

您可以使用以下命令查看每个远程的当前服务器:

git lfs env | grep Endpoint

注意:当前的 git-lfs (2.13.3) 仅支持 HTTP/HTTPS 和file://端点协议,因此您不能通过 SSH 将 LFS 对象推送到远程克隆。一种解决方法是挂载远程存储库sshfs并使用file://.

于 2021-04-29T17:27:40.227 回答
0

据我了解,默认情况下它们存储在 Github 的服务器上。您还可以在本地设置服务器(他们提供 API 文档和他们所谓的“参考服务器实现”),并在 git 配置中指定服务器

于 2015-10-04T05:26:26.617 回答