我刚开始使用 git 和 github。我有一个很大的 json 文件(~45Mb)。它在项目中用作只读字典,并放置在项目根目录中。它不会被改变。它现在不在我的存储库中,因为我将它的名称添加到.gitignore
.
现在我想把这个项目上传到 github 上。由于 json 文件列在.gitignore
我希望它不会被push
编辑到 github 存储库。如何正确处理这样的文件?我应该将它添加到存储库中吗?是否有使用此类文件配置存储库的特定步骤?
如果您的存储库的所有用户都需要大 json 文件,我可以看到三个选项:
选项 #1 - 由于文件不会更改,任何克隆存储库的人只需支付一次性的 45M 文件存储成本,因为他们需要能够访问整个文件,所以无论如何都是必需的。另外,文件会被压缩到 git 的 db 中,所以你不用支付双倍的存储成本。而且clone只需要复制文件的压缩版本,所以会比你想象的要快。
选项 #2 - 如果您的存储库的所有用户都需要该文件,并且它很容易生成,那么只需提交一个生成该文件的程序,并为您的用户提供有关如何运行该程序的简单说明。
选项 #3 - 将文件发布到某处并让您的用户下载它,并在 README 中提交说明。
选项#1 似乎最方便,而且 45M 不是很大,尤其是在文件没有变化的情况下,所以如果是我,我只会提交文件。
您可以通过向.gitattribute添加以下行来禁用特定文件的压缩:
*.<file extension> -crlf -diff -merge -delta