小编Nic*_*vén的帖子

Git似乎存储了整个文件而不是diff,如何避免这种情况?

我在git repo中有一个“大”(5 mb)文本文件。如果我在最后一行添加一个字符并运行,git add我的.git文件夹的大小将增加约1 mb(我假设这是5 mb文件的压缩大小)。

每当我进行编辑和添加时,都会发生相同的情况。

如果我运行,git add -p file我会得到一个很好的差异,只有几个字节。但是无论如何,当我完全填充添加内容时,大对象文件就被存储了。

运行git gc --prune=now会删除较大的目标文件,并且一切似乎仍然可以正常进行。

但是在每次添加之后定期运行git gc并不是一个好选择,因为我在SD卡上以自动方式使用git,这样会使卡的写和删除兆字节用完。

所以,我的问题是

1)我是对的,这是git的行为吗?还是我误会了什么?

2)我可以避免这种情况,让git只保存差异吗?

我毫不犹豫地恢复了旧变更等方面的灵活性。无需分支或存储或其他会使git的生命复杂化的事情。

编辑 为了清楚起见,我的问题不是git保存整个文件一次。但是它存储了每次编辑的整个文件。如果我在每次字符编辑之间添加了10个字符并进行了添加和提交,则它将整个文件(以压缩形式)保存10次。

git

3
推荐指数
1
解决办法
717
查看次数

标签 统计

git ×1