Git-репозиторий с бинарными файлами - PullRequest
5 голосов
/ 11 мая 2011

Моя компания рассматривает возможность внедрения Git, но у меня есть вопрос о том, как лучше всего это настроить.У нас есть 3 сайта, и мы планируем использовать Gerrit2 для создания зеркал.Наш репозиторий составляет около 2 ГБ, и мы хотели бы начать добавлять к нему двоичные файлы.Я обеспокоен использованием пространства, хотя.Я не возражаю, если все версии двоичных файлов хранятся в нескольких местах, но я хочу убедиться, что они не блокируют операции клонирования.

Я понимаю, что Git использует жесткие ссылки, но я думаю,это будет работать, только если мы разместим копию хранилища на каждом монтировании.Есть ли лучшие варианты и если да, каковы компромиссы?Опции, на которые я смотрю, это "--shared" и "--reference".

Ответы [ 4 ]

6 голосов
/ 11 мая 2011

Другая альтернатива git media упоминается от Марсело - это приложение git :

См. чем не является git-annex :

git-annex не является git-media, хотя они оба подходят к одной и той же проблеме с одинакового направления. Я узнал о git-media только после написания git-annex, но, вероятно, я бы все равно написал git-annex вместо его использования.

В настоящее время у git-media есть преимущество использования фильтров git smudge, а не кучки символических ссылок git-annex, и он может быть более подходящим для определенных ситуаций.
В нем отсутствует поддержка git-annex для широко распределенного хранилища, использующего только одно хранилище данных бэкэнда.
Он также не поддерживает частичное извлечение содержимого файла, как это делает git-annex.


Примечание: abdelsaid добавляет в комментарии :

Вы можете использовать git-annex с bup (bup позволяет вам иметь версии), см. git-annex/ special remotes/ bup Using bup )

Я представил bup более подробно в " git с большими файлами "

3 голосов
/ 11 мая 2011

Чтобы просто использовать нативный git, используйте отдельный репозиторий для размещения бинарных файлов через подмодули git. Это работало для меня на системах IVR, которые имели тонну гигантских файлов .wav. Если вам нужны дальнейшие разъяснения, не стесняйтесь связаться со мной.

Вот хорошая запись на них:

http://progit.org/book/ch6-6.html

надеюсь, это поможет

3 голосов
/ 11 мая 2011

Используйте git-media для больших двоичных файлов. Он хранит ссылки на двоичные файлы как суммы SHA1 и размещает сами двоичные файлы в месте (и протоколе) по вашему выбору. Когда вы делаете клон, он выбирает только двоичные файлы, необходимые для извлечения рабочей копии.

2 голосов
/ 24 апреля 2014

Еще одна возможность - мерзавец (или вилка Cyan мерзавца с некоторыми улучшениями);он даже легче (зависит только от Python и rsync), чем git-media (Ruby), и определенно легче, чем git-annex (Haskell).Стоимость этого меньше настраиваемости, но в некоторых случаях это может быть лучшим решением.

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