лайт-версия репозитория / ветки в git - PullRequest
4 голосов
/ 16 сентября 2008

Я использую git для проекта, который генерирует много файлов данных (результатов моделирования). Я «вынужден» версии и отслеживать все эти результаты в одном и том же хранилище. (Это жесткое требование, и его нельзя изменить)

Однако они мне не нужны. У нас есть около 50 МБ для проекта и 5 ГБ результатов в хранилище.

Возможно ли мне создать ветку, удалить все результаты, проверить эту ветку и работать только на этой ветке?

Насколько сложно (что бы мне пришлось сделать), чтобы вернуть мои локальные изменения обратно в толстую ветвь?

Есть ли лучшее решение, чтобы избавиться от этих 5 ГБ для моей работы?

Ответы [ 3 ]

2 голосов
/ 16 сентября 2008

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

См. Руководство для git cherry-pick .

2 голосов
/ 16 сентября 2008

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

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

0 голосов
/ 02 апреля 2009

Помимо git cherry-pick, другой альтернативой является запуск git-revert для изменения удаления файла непосредственно перед слиянием.

...