我目前正在开始为我的版本控制系统使用git,但是我做了一些公平的网络/游戏开发,当然这需要存储图像(二进制数据)。所以,如果我的理解是正确的,如果我提交一个图像,它会改变100次,如果我获取该回购的新副本,我基本上会检查出该二进制文件的所有100个版本?Git和二进制数据
这是不是一个大回购的问题,图像经常变化不会最初回购的回购变得相当大?有没有人在现实世界中遇到过这个问题?我已经看到了一些替代方案,例如使用子模块并将图像保存在独立的回购库中,但这只会使代码库更小,图像回购将仍然很大。基本上我只是想知道是否有一个很好的解决方案。
这是git的设计局限性。它被写入做好一件事:管理Linux源代码树,这几乎都是纯文本。 Git是关于差异和合并的东西,它们并不适用于图像。如果您的媒体文件非常大或经常编辑,最好使用不同的机制来存储这些文件的历史记录,如果您没有真正在代码上合作或制作很多分支机构,那么您可能会更好关闭不使用git。 – user57368 2009-12-15 23:08:50
git将会处理二进制文件,它用于存储* deltas的系统是基于二进制内容的(你在补丁中看到的文本差异是动态计算的,而不是表示存储的内容)。话虽如此,压缩图像的xdelta不太可能减少空间需求。您可以将所有图像保存为XPM或BMP:p – araqnid 2009-12-15 23:52:15