【发布时间】:2020-10-14 03:54:16
【问题描述】:
我有一个包含大约 55GB 内容的存储库,其中每个项目的二进制文件小于 100MB(因此没有 LFS 模式),该项目几乎填满了整个硬盘驱动器。我正在尝试将所有内容添加到 git repo 并将其推送到 GitHub 但每次我都这样做
git add .
在初始化和设置我的遥控器后,在包含我内容的文件夹中,git 开始将所有文件缓存到 .git/objects,使 .git 文件夹的大小迅速增长。所有文件都是二进制文件,所以 git 无论如何都无法在版本之间进行更改,因此没有理由缓存版本。
有没有什么办法,例如编辑 git 属性或更改文件在 git 存储库中的暂存方式,只添加对存储库中文件的索引或引用,而不是将它们缓存到 .git 文件夹中,而也可以将所有数据推送到 GitHub?
【问题讨论】:
-
这正是 git-lfs 的开发目的。
-
我的意思是,你实际上是在描述 git-lfs 旨在解决的高级问题。
-
我现在正在尝试 git lfs 模式,在 FreeNode IRC 上#git 的一些帮助下,它似乎仍然在做同样的问题,但我会等它看看它是什么样子
-
暂存文件实际上是一个没有 id 的提交对象。如果您有 55GB 的内容,那么第一次提交将是 55GB。 Git 必须暂存所有内容才能创建提交。也许尝试分批提交文件?在大型提交之间运行
git gc。这有助于加快速度,但肯定不会减少存储库的大小。
标签: git file github repository