Git + большой набор данных?

Мы часто работаем над проектом, в котором нам передали большой набор данных (скажем, несколько файлов размером 1 ГБ каждый), и мы пишем код для его анализа.

Весь код анализа находится в Git, поэтому каждый может проверять изменения в нашем центральном репозитории и вне его. Но что делать с наборами данных, с которыми работает код?

Мне нужны данные в репозитории:

  • Когда пользователи впервые клонируют репозиторий, данные должны поступать вместе.
  • Данные не на 100% доступны только для чтения; время от времени точка данных исправляется или происходит незначительное изменение форматирования. Если с данными произойдут незначительные изменения, пользователи должны быть уведомлены при следующей проверке.

Однако я не хочу, чтобы данные в репозитории git:

  • git клонирует резервную копию (так что у меня есть две версии в моем домашний каталог) извлечет несколько ГБ данных, которые у меня уже есть. Я бы предпочел либо иметь его в фиксированном месте [установить правило, что данные должны быть в ~ / data], либо добавлять ссылки по мере необходимости.
  • С данными в репозитории копирование на флэш-накопитель может быть невозможно, что является раздражает, когда я просто работаю над сотней строк кода.
  • Если ошибочная точка данных исправлена, я никогда больше не буду смотреть на ошибочную версию.Изменения в наборе данных могут отслеживаться в текстовом файле или лицом, предоставившим данные (или вообще не отслеживаться).

Похоже, мне нужна установка с основным репозиторием для кода и вспомогательным репозиторием для данных. Есть ли какие-либо предложения или уловки для изящной реализации этого, либо в git, либо в POSIX в целом? Все, о чем я думал, так или иначе является кладжем.

20
задан bk. 7 June 2011 в 16:40
поделиться

1 ответ

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

После установки ( https://packagecloud.io/github/git-lfs/install), можно настроить его в локальном repo с git lfs install. И затем использование его легко. Скажите это, какие типы файлов Вы хотите отследить (git lfs track "*.gz"), удостоверьтесь, что Вы отслеживаете .gitattributes, и это должно просто работать.

0
ответ дан 30 November 2019 в 00:50
поделиться
Другие вопросы по тегам:

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