我正在尝试弄清如何使用git-lfs。我使用的是gitlab企业版服务器。
也许我错过了什么,但除了一个介绍“track”命令和可爱的1分钟视频之外,我没有找到任何关于git-lfs的文档。
例如,我在一个仓库中添加并跟踪了一个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: 在此过程结束时,是否已将a.tar上传到gitlab服务器?这一点不清楚,因为“add”和“commit”命令需要一些时间(可能不足以让我想知道在此期间是否上传了3.7GB),但是推送并没有花费任何时间(只有几分之一秒)。
问题2: 如果文件已上传到服务器,则上传到哪里?显然不在与repo相同的位置(这就是重点)。我的服务器正在备份,我需要知道是否需要以任何方式更新git-lfs的使用。
问题3: 如果文件未上传,这是否意味着repo的其他用户将获取到在添加文件的原始机器上的文件链接?有没有办法更改为服务器上的位置?(回答问题2)
问题4: 克隆完repo后,确实没有整个3.4G的文件,只有一个包含内容的文本文件。version https://git-lfs.github.com/spec/v1
oid sha256:4bd049d85f06029d28bd94eae6da2b6eb69c0b2d25bac8c30ac1b156672c4082
size 3771098624
这当然很棒,也是全部的重点。但如果需要访问完整的文件呢?如何下载?
我会很高兴得到这个问题的直接回答或指向适当文档的链接。
git lfs pull
就是我需要的。 :) 谢谢!(我是 git-lfs 的新手) - Zackgit lfs pull
对我有用。但现在如果我想把它们转换回指针,那该怎么办?git lfs push
行得通吗? - Vincentgit clone
命令已经内置了LFS支持[内置](https://github.com/git-lfs/git-lfs/commit/6f5c9221f60bf1f58d8fcc77ed0afb4898667502)。 - Dusklight