将超过100MB的文件推送到GitHub

8

我想要把超过100MB的文件推送到Github,已经尝试了所有可找到的选项,包括GitHub大文件扩展,但都没有成功。

目前我正在使用GitHub桌面版进行推送,因为我需要推送100个以上的文件,这是一个解决办法,但我希望有人能够提供一些建议或确切的步骤来推送超过100MB的文件。

下面的图片是我在尝试推送时看到的情况(由于保密原因,文件名被模糊处理)。

enter image description here


1
你为什么想要对如此大的文件进行版本控制?这些是某种二进制文件吗?考虑将它们存储在GitHub以外的其他地方。 - Tim Biegeleisen
@TimBiegeleisen 我想要推送,这样另一个开发者就可以访问所有这些文件。 - KyleUSA
不要这样做。Git无法处理非常大的二进制文件。GitHub试图阻止你这样做是有原因的。 - Tim Biegeleisen
@TimBiegeleisen,那么最好的替代方案是什么? - KyleUSA
使用git-lfs的问题是什么? - Zois Tasoulas
@ZoisTasoulas 我不太明白LFS扩展是如何帮助的。如果GitHub不喜欢大规模推送(这并不奇怪),那么应用LFS并存储大文件有什么区别呢?存储所需的空间仍然相同,传输数据的负荷仍然相同。有什么不同之处呢?(注:我不是在质疑建议。我只是不喜欢魔法,更愿意理解它的工作原理,而不是只是开心地接受它的工作。) - undefined
1个回答

11

GitHub有严格的100MB文件限制,因此建议在你的使用案例中使用Git Large File Storage。

Git Large File Storage 允许将大文件存储在像GitHub这样的远程服务器上。

通过将其放入$PATH中来下载和安装git-lfs。

对于每个本地仓库,运行以下命令一次:

git lfs install

大文件可以通过以下方式进行选择:

git lfs track '*.nc'
git lfs track '*.csv'

它将创建一个名为.gitattributes的文件,现在您可以像平常一样执行添加和提交操作。

现在,

  1. 将文件推送到LFS,
  1. 将指针推送到GitHub。

以下是命令:

git lfs push --all origin master
git push -u origin master

如果您想在其他设备上拉取存储库,只需在该设备上安装git-lfs(每个本地存储库)即可。

好的好的...即使我早已执行了"git add .",现在我按照你提到的指令在同一个目录下执行新的命令;"git lfs install",一切都不会混乱吧?@AmitKumar - gumuruh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接