Git和二进制数据

Jam*_*mie 13 git

我现在开始使用git作为我的版本控制系统,但是我做了一些网页/游戏开发,当然需要存储图像(二进制数据).因此,如果我的理解是正确的,如果我提交一个图像并且它改变了100次,如果我获取该repo的新副本,我基本上会检查该二进制文件的所有100个修订版本?

这不是一个大型回购的问题,其中图像定期更改不会最初获取回购最终变得非常大吗?在现实世界中有没有人遇到过这个问题?我已经看到了一些替代方案,例如,使用子模块并将图像保存在单独的仓库中,但这只会使代码库变小,图像仓库仍然会很大.基本上我只是想知道是否有一个很好的解决方案.

Mic*_*ker 7

我不会称之为"结账",但是,是的,第一次获取存储库,只要二进制数据是巨大且不可压缩的,它将会是什么样的 - 巨大的.是的,因为守恒定律仍然有效地将其分解为模块将无法为初始拉动存储库节省空间和时间.

一个可能的解决方案是--depth在拉动时仍使用单独的存储库和选项.浅的存储库有一些限制,但我不记得究竟是什么,因为我从未使用它.检查文档.关键字是"浅薄的".

编辑:来自git-clone(1):

浅存储库有许多限制(您不能克隆或获取它,也不能从中推送或插入它),但如果您只对历史悠久的大型项目的近期历史感兴趣并且希望将修补程序作为补丁发送.