Сценарий
Представьте, что я вынужден работать с некоторыми из моих файлов, всегда хранящихся внутри .zip
файлов. Некоторые файлы внутри zip-архива представляют собой небольшие текстовые файлы и часто меняются, в то время как другие больше, но, к счастью, довольно статичны (например, изображения).
Если я хочу поместить эти zip-файлы в репозиторий git
, каждый zip-архив будет рассматриваться как blob-объект, поэтому всякий раз, когда я фиксирую, репозиторий увеличивается на размер zip-файла ... даже если только внутри изменился один небольшой текстовый файл!
Почему это реально
Файлы MS Word 2007/2010 .docx
и Excel .xlsx
- это файлы ZIP ...
Я хочу
Это есть ли случайный способ указать git
, чтобы он обрабатывал zip-архивы не как файлы, а как каталоги, и обрабатывал их содержимое как файлы?
Преимущества
Но это не может сработать, вы говорите?
Я понимаю, что без дополнительных метаданных это привело бы к некоторой двусмысленности: on a git checkout
git должен будет решить, создавать ли foo.zip/bar.txt
как файл в обычном каталоге или как zip-файл. Однако я думаю, это можно решить с помощью параметров конфигурации.
Две идеи, как это можно сделать (если она еще не существует)
minizip
или IO :: Compress :: Zip
] внутри git