2

我刚开始使用 git 和 github。我有一个很大的 json 文件(~45Mb)。它在项目中用作只读字典,并放置在项目根目录中。它不会被改变。它现在不在我的存储库中,因为我将它的名称添加到.gitignore.

现在我想把这个项目上传到 github 上。由于 json 文件列在.gitignore我希望它不会被push编辑到 github 存储库。如何正确处理这样的文件?我应该将它添加到存储库中吗?是否有使用此类文件配置存储库的特定步骤?

4

2 回答 2

4

如果您的存储库的所有用户都需要大 json 文件,我可以看到三个选项:

  1. 提交文件
  2. 编写一个可以按需生成json文件的程序
  3. 指示您的用户从某个外部位置下载文件

选项 #1 - 由于文件不会更改,任何克隆存储库的人只需支付一次性的 45M 文件存储成本,因为他们需要能够访问整个文件,所以无论如何都是必需的。另外,文件会被压缩到 git 的 db 中,所以你不用支付双倍的存储成本。而且clone只需要复制文件的压缩版本,所以会比你想象的要快。

选项 #2 - 如果您的存储库的所有用户都需要该文件,并且它很容易生成,那么只需提交一个生成该文件的程序,并为您的用户提供有关如何运行该程序的简单说明。

选项 #3 - 将文件发布到某处并让您的用户下载它,并在 README 中提交说明。

选项#1 似乎最方便,而且 45M 不是很大,尤其是在文件没有变化的情况下,所以如果是我,我只会提交文件。

于 2013-06-14T10:55:28.140 回答
0

您可以通过向.gitattribute添加以下行来禁用特定文件的压缩:

*.<file extension> -crlf -diff -merge -delta
于 2013-06-14T10:43:16.627 回答