Как сохранить легкий репозиторий Git с укороченной историей - PullRequest
0 голосов
/ 16 ноября 2018

С учетом репо all-history.git , содержащего миллионы коммитов, как можно создать и поддерживать второе, более легкое репо last year-of-history.git что разработчики используют в своей повседневной деятельности? Оба репо будут иметь все последние действия, выполненные разработчиками (коммиты / ветки / теги / и т. Д.), Но более легкое репо будет содержать только последний год этого действия.

Я придумал метод, который усекает коммиты в last-year-of-history.git и удаляет старые теги и ветки, но процесс, который я использовал для продвижения изменений, которые вносят разработчики из last-year-of-history.git до all-history.git выдвигает усеченный коммит и прерывает историю файлов, делая бесполезным намерение all-history.git .

1 Ответ

0 голосов
/ 16 ноября 2018

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

, которые могут выполнять разработчики (и ваш процесс CI).неглубокие клоны и отводят столько истории, сколько они хотят, а затем нормально работают с хранилищем.

Они могут клонировать с помощью --depth 10, чтобы клонировать только последние 10 коммитов в репо

Или они могут использовать --shallow-since=<date>

, что кажется более соответствующим тому, чтовы делаете прямо сейчас: они могут клонировать все коммиты, начиная с определенной даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...