【问题标题】:Adding large folder to git repository without caching to repository?将大文件夹添加到 git 存储库而不缓存到存储库?
【发布时间】: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


【解决方案1】:

使用浏览器直接登录GitHub,通过浏览器上传文件,这样就完全不用git了,现在让git忽略所有使用.gitignore文件的媒体文件。现在只有二进制文件将由 git 管理。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2020-02-27
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 2013-02-23
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多