git 适合存储数千个小型二进制文件(例如 PDF 和文档)吗?

Jab*_*ech 0 git github gitlab

我相信 git merge 比较功能不适用于二进制。

但是,在 git 中安全存储 1000 个小二进制文件(每个小于 50 mb 大小)而不损坏数据是否安全?您能给建议吗?目的是更像一个备份工具来使用它,并提供适当的分段和注释。

我的用例的更新

我的用例有点类似于(但不完全是)为旧照片的扫描副本提供安全版本(注释)备份。我扫描照片的每一份副本并提交到来源(github)。一旦上传,我就不太可能更改/编辑已经上传(推送)的照片。我通常会稍后(经常)扫描并添加更多照片,但我不会经常更改/删除这些照片。

Tim*_*sen 5

我想说,存储数千个二进制文件通常是不行的,这些文件的大小可能达到50MB 其原因是 Git 在对二进制文件进行版本控制方面表现不佳。要了解此处发生的情况,请查看源代码文件的 Git 差异。您将看到差异表示为从一个版本到下一个版本的一系列更改。二进制文件出现的问题是,Git 通常最终会阐明两个版本之间的差异,即删除旧版本中的全部内容,然后添加新版本中的全部内容。因此,二进制文件更改的每次提交都会占用大量空间。现在,将其乘以您拥有的二进制文件的数量以及提交/更改的数量,您的存储库将很快膨胀并变得太大而无法管理。

因此,重申一下,我建议不要使用 Git 作为大量二进制文件的通用存储库。如果您想要一个非常适合此目的的 VCS 工具,请考虑 Perforce 之类的工具。话虽这么说,如果您需要版本控制的唯一二进制文件是 1KB 图标之类的东西,那么这还不错。

  • 如果您绝对确定永远不需要更改或删除这些文件,那么 Git 可能适合。请注意,我也提到了“删除”;仅仅因为您从分支中删除二进制文件并不意味着它会从您的历史记录中删除。相反,该二进制文件及其所有版本仍将位于存储库中。将二进制文件添加到 Git 就像婚姻一样。一旦进去,就很难出去。 (2认同)
  • 那么,没有“git filter-branch --person-filter '我的前妻'”吗?(虽然她有点二元) (2认同)

归档时间:

查看次数:

3749 次

最近记录:

7 年,4 月 前