我正在尝试弄清楚如何使用 git-lfs。我使用 gitlab EE 服务器。
也许我错过了一些东西,但是除了介绍“track”命令的非常简短的教程和可爱的 1 分钟视频之外,我没有找到任何关于 git-lfs 的文档。
例如,我在 repo 中添加和跟踪一个 3.7GB 的 tar 文件,然后推送它:
git lfs track "*.tar"
cp <a folder>/a.tar .
git add a.tar
git commit -m "add a.tar"
git push origin master
问题1:这个过程结束时,gitlab服务器上是否上传了a.tar?目前还不清楚“添加”和“提交”命令需要一些时间(可能还不足以让我怀疑在此期间是否上传了 3.7GB),但推送根本不需要任何时间(一小部分第二)。
问题2:如果文件是在服务器上上传的,在哪里?显然与回购不在同一个地方(这就是重点)。我问是因为我的服务器正在备份,我需要知道使用 git-lfs 是否需要我以任何方式更新它。
问题 3:如果文件没有上传,这是否意味着 repo 的其他用户将在添加文件的原始机器上获得文件的链接?有没有办法将其更改为服务器上的位置?(回到问题 2)
问题 4:克隆 repo 后,确实没有完整的 3.4G 文件,“只是”一个包含内容的文本文件:
version https://git-lfs.github.com/spec/v1
oid sha256:4bd049d85f06029d28bd94eae6da2b6eb69c0b2d25bac8c30ac1b156672c4082
size 3771098624
这当然很棒,而且很重要。但是如果需要访问完整文件怎么办?怎么下载呢?
我很乐意直接回答这个问题或链接到正确的文档。