哪个repos用链接替换大型git-lfs托管文件?

时间:2016-06-10 11:58:22

标签: git storage large-files git-lfs

git-lfs网站上的功能概述

  

Git大文件存储(LFS)用Git中的文本指针替换大型文件,如音频样本,视频,数据集和图形,同时将文件内容存储在远程服务器上,如GitHub.com或GitHub Enterprise。

但这句话让我感到困惑,似乎与模棱两可的伴随形象不一致。

大型(托管)文件是用本地和远程回购的链接替换的,还是仅用于远程回购?当有人使用git-lfs托管文件克隆远程仓库时会发生什么?

1 个答案:

答案 0 :(得分:0)

您可以阅读spec中的详细信息。它的工作原理如下:

大文件(通过lfs跟踪的文件)永远不会成为存储库的一部分。而只是将小指针文件写入其中。

如果提交大文件,lfs将拦截并用指针替换该文件。文件本身保存在.git/lfs/objects/{OID-PATH}

如果您推送一个大文件.git/lfs/objects/{OID-PATH}将同步到存储这些大文件的存储。

如果要签出大文件,lfs会检查.git/lfs/objects/{OID-PATH}中是否存在。如果没有,它将从服务器下载文件。

所以是的,大型托管文件被所有repos中的链接替换(git关注的是什么)。只有你检查出来,他们才会被替换。如果.git/lfs/objects/没有得到清理,你的系统上会有所有大文件(我不知道github客户端是否进行了一些清理)。