最佳答案
剧本
假设我被迫使用总是存储在 .zip
文件中的一些文件。ZIP 文件中的一些文件是小文本文件,经常更改,而另一些文件较大,但幸运的是它们是静态的(例如图像)。
如果我想把这些 ZIP 文件放在 Git 存储库中,每个 ZIP 都被当作一个 blob,所以每当我提交存储库时,ZIP 文件的大小就会增加... ... 即使只有一个小文本文件发生了变化!
为什么这是现实的
MicrosoftWord2007 /二零一零年.docx
和 Excel .xlsx
文件是 ZIP 文件..。
我想要的
是否有一种方法告诉 Git 不要把 ZIP 文件当作文件,而是把它们当作目录并把它们的内容当作文件?
好处
但是你说没用?
我意识到,如果没有额外的元数据,这将导致一定程度的模糊性: 在 git checkout
上,Git 必须决定是将 foo.zip/bar.txt
创建为常规目录中的文件,还是将其创建为 ZIP 文件。然而,我认为这可以通过配置选项来解决。
有两种方法可以实现 (如果它还不存在的话)
minizip
或 IO::Compress::Zip
的库