我只是想知道是否有人能解决我对使用Git大文件存储的困惑。
创建新存储库时,我知道如何使用git lfs track
跟踪某些文件,但是如何指定这些文件的存储位置?
例如,在我正在开发的项目中,有许多png和wav文件。使用git lfs track
跟踪这些内容。 Git LFS网站说它们存储在远程服务器上,但我无法找到该信息在我们的存储库中的位置。
此外,当第二个用户克隆repo时,项目仅包含指向LFS对象的指针。他们如何找到/使用存储实际文件的遥控器的URL?
(我们正在使用Bitbucket和本地系统git作为我们的回购。)
答案 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
。