7

У меня есть git-репозиторий с исходными кодами, которые я хочу разместить в открытом доступе на github.

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

Прямо сейчас я храню их в каталоге "data" в репозитории, и этот каталог игнорируется, и я ухожу в отставку при получении их в git.

Тем не менее, я читал о git-приложении, и, похоже, он может делать то, что я хочу. Итак, у меня есть два вопроса.

  • Подходит ли мне git application?
  • Как именно я должен использовать приложение git для моего сценария? Смысл - какие команды мне использовать и как?

    Я пытался прочитать официальную документацию, но там говорится о случаях использования, которые меня не волнуют. У меня есть данные только на одном компьютере, и я не думаю, что скоро перенесу их (приятно иметь такую возможность, но я не хочу использовать приложение git). Кроме того, документация довольно сложна для чтения.

1 ответ1

5

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

Поэтому я предлагаю взглянуть на подмодули Git и сделать /data подмодулем для другого репозитория, содержащего в основном или только данные приложения Git.

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .