Является ли модель хранилища git расточительной?
Я читал о как git хранит изменения здесь.
Похоже, если я поменю одну строку в файле, она будет повторно хранить весь файл. Разве это тратит много места по сравнению, скажем, Subversion, который хранит только diff?
(Или я не понимаю модель хранения?)
Ответы
Ответ 1
Git в конечном итоге упакует все в архивы с дельта-сжатием во время регулярного курса внутреннего обслуживания, после чего это уже не проблема.
Сегодня это не проблема. Философия Git заключается в том, что дисковое пространство дешево, и лучше оптимизировать скорость, а не эффективность хранения. Скорее всего, вам лучше будет обслуживать SCM, который в два раза быстрее, чем тот, который требует половину дискового пространства.
См. главу Git Book в Пакетный файл, а также Git repack и git-pack-objects.
Ответ 2
Git сжимает сохраненные файлы с помощью zlib, а также упаковывает их для более эффективного хранилища.
Ответ 3
На самом деле нет. Существует хорошая статья, описывающая преимущество git: http://web.archive.org/web/20110902055701/http://whygitisbetterthanx.com:80/