如何指定Git LFS文件的存储位置?

时间:2015-10-03 21:32:02

标签: git git-lfs

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

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

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

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

(我们正在使用Bitbucket和本地系统git作为我们的回购。)

3 个答案:

答案 0 :(得分:9)

  

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

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

我原本以为BitBucket会在他们的网站上以有意义的方式提供这些信息。

  

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

Git-LFS 存储服务器由 <DynamicTabPanes /> 属性指定,例如:

lfs.url

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

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

git@github.com:foo/bar.git -> https://github.com/foo/bar.git/info/lfs

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