如何使用GitHub管理大型数据文件?

B S*_*ven 15 git version-control github

我有一个(现在)120 MB的大文本数据文件.

把它放在回购中是不是一种糟糕的做法?它会影响GitHub上的搜索功能吗?

这似乎是一个坏主意,因为整个源代码只有900行.

不打算更新文件.

可以将它放在Dropbox或Google Docs上,但它与repo分开.

如果不是GitHub,是否有更好的方法来管理/备份大数据文件?

Ali*_*Ali 5

在以下情况下将其放入 repo:
1- 您想跟踪更改
2- 它实际上是项目的一部分,并且您希望人们在克隆 repo 时收到它

在以下情况下不要将其放入 repo(使用 .gitignore 排除它):
1- 它经常更改但更改没有意义并且您不想保留历史记录
2- 它可以在线获得,或者您可以制作它可在线获取并在 repo 中放置链接或其他内容,以便人们知道在哪里可以找到它

如果您没有很多人下载 Dropbox,它会很好,Amazon S3 是您托管它的最佳选择。


Mer*_*lin 5

有很好的方法来处理这种情况。例如,当我从事一个分析数据的项目时,尤其是在清洗和预处理步骤之后,它的la脚就是共享代码,而不共享数据集(当然是因为数据集的大小)。这是我发现的:

  • git lfs大型文件存储,它允许您跟踪和提交二进制文件,数据文件,图像等并将其推送到同一远程,并且如果您克隆存储库,则不必提取所有内容。

  • git-annex使用其自己的命令,因此您将分别提交仓库和附件文件。对于在任何远程设备(例如硬盘驱动器,s3,google驱动器等)上管理这些文件,它看起来很棒。

有人在这里对git-annex和git lfs进行了很好的比较,并且本文比较了几种简短形式的方法。

他们俩看起来都很棒,目前git附件更加成熟,但是git lfs是我使用的github开发的,这就是为什么我使用git lfs的原因。