Git只是部分添加了巨大的二进制文件

时间:2017-12-21 07:39:15

标签: git version-control

我想使用Git进行数据存储,这将由自动工具使用(因此速度并不重要)。但是当我尝试向git添加一个巨大的二进制文件时(在我的例子中它是一个大小为24.2GB的zip文件),它只是部分地完成。

我的流程:

  1. 准备包含2个巨大二进制文件的文件夹,仅供测试;
  2. 调用git init初始化git项目;
  3. git add -A -v -f将所有文件添加到舞台(日志显示,添加了两个文件,没有错误或警告);
  4. 检查.git文件夹,它的大小只有41.6 MB,看起来太小了,但让我们继续;
  5. git commit -m "initial commit"进行提交(日志显示2个文件已更改,.git文件夹的大小仍为41.6 MB);
  6. 删除了其中一个媒体;
  7. git reset --hard HEAD - 只获得了222 MB的二进制文件。
  8. Git版本:2.13.2.windows.1

    系统:Windows Server 2016 Standard x64

    Git具有所有默认配置

    可能是什么问题,是否可以在不切换到git LFS或其他版本控制系统的情况下修复它?

1 个答案:

答案 0 :(得分:0)

  

我想使用Git进行数据存储,这将由自动工具使用(因此速度并不重要)。

无论速度是否重要,Git都不是数据库或通用文件系统,尝试使用它通常会让所有人失望。这是一个很好的例子,你试图在通用文件系统中做一些完全合理的事情,这在你的Git构建中显然已经被打破了。

处理非常大的文件是一系列相当脆弱的操作,这些操作很容易退化并且经常被忽视,因为没有人检查数GB的文件,因为它处理它们很糟糕。

我猜不出你会发现什么其他问题,但我怀疑会有一些问题。 (特别是如果您尝试将其推送到托管服务提供商。)

你没有在问题中提出问题,它更像是一个错误报告。确实这就是它 - 这是一个意想不到的错误 - 你应该在Git for Windows问题跟踪器上报告它。