Git не работает ни с гигантскими, ни с множеством крошечных файлов. Если так, каковы альтернативы? - PullRequest
1 голос
/ 16 октября 2019

Проблема заключается в следующем: я хочу управлять версией словаря (словарь реального языка). У меня есть 2 основных способа справиться с этим с помощью .git:

  1. Зафиксировать один гигантский 5 ГБ файл .txt в .git.
  2. Разбить диктовку на крошечные файлы .txt, где каждый файлсодержит только одну диктовку и весит где-то между 0kb и 1kb.

Насколько мои показания истекли, ни одна из стратегий не применима к .git

  1. ВВ первом случае каждое изменение в большом файле заставляет меня выделять целых 5 ГБ (и это для любого изменения!). Ну, да, вы можете "сжимать" после каждого коммита (таким образом создавая дельта-файл), но это занимает время ...

  2. Во втором случае коммиты действительно дешевы, но, размер папки .git утраивается (или где-то близко к утроению, извините, я забыл точный фактор).

Насколько я знаю, умножение папки .git связано с тем, что для каждого файла .git должно:

  • Хешировать файл,но так как оригинал был крошечным, любое хэширование увеличит его размер
  • создайте ссылку на файл (в основном другой файл с хешем)
  • некоторые другие вещи (можете ли вы напомнить мне, какая еще причина для умноженияразмера папки .git?

Итак, вопрос в следующем: есть ли альтернатива .git, но которая предназначена для работы со многими небольшими файлами?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...