Аналог мерзавца к Расширению Hg Bigfiles?

Я хочу что-то в мерзавце, который подобен Расширению Mercurial Bigfiles (примечание: Я знаю о мерзавце-bigfiles, но это не связано).

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

6
задан deft_code 13 October 2010 в 20:09
поделиться

1 ответ

Вот несколько вариантов, которые следует рассмотреть:

Мелкие клоны : вы можете добавить параметр - depth в git clone , чтобы получить неглубокий клон репозитория. например если равно 1, это означает, что клон будет извлекать только файлы, необходимые для самой последней фиксации. Однако у таких репозиториев есть неудобные ограничения на то, что вы можете с ними делать, как указано на странице руководства git clone :

        --depth 
           Create a shallow clone with a history truncated to the specified
           number of revisions. A shallow repository has a number of
           limitations (you cannot clone or fetch from it, nor push from nor
           into it), but is adequate if you are only interested in the recent
           history of a large project with a long history, and would want to
           send in fixes as patches.

Фактически, как обсуждалось в этой ветке , это что-то вроде преувеличение - бывают полезные ситуации, когда выталкивание из неглубокого клона все равно будет работать, и, возможно, это подойдет вашему рабочему процессу.

Расширение "git media" Скотта Чакона : автор описывает это в ответе на этот аналогичный вопрос и в README на github: http://github.com/schacon/ git-media .

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

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

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

5
ответ дан 17 December 2019 в 04:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: