облегченная версия репозитория / ветки в git

StackOverflow https://stackoverflow.com/questions/71315

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

Посмотрите на руководство для git cherry-pick.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top