Git: самый быстрый способ переместить несколько файлов из разных каталогов в новый репозиторий - PullRequest
2 голосов
/ 27 марта 2020

Я работаю над разделением одного большого монолитного приложения на несколько микросервисов в monorepo. Monolith находится в большом Git хранилище с историей коммитов до 2010 года.

Для каждого нового микросервиса мне нужно извлечь несколько файлов из разных каталогов, сохраняя при этом их историю. Я пробовал git subtree split, но он удваивает коммиты, когда файлы из разных каталогов находились в этом коммите. Я пробовал ajdruff / git -splits , но для выполнения 500 шагов потребовалось 30 минут, и до go осталось около 15000 шагов, поэтому он будет работать как минимум 16 часов.

Есть ли возможность сделать это быстрее с хранилищем указанного размера?

РЕДАКТИРОВАТЬ: я знаю, что мне нужны файлы довольно новые (добавлено в 2018 году). Может быть, есть возможность сделать git-splits для истории с 2018 года или что-то? Я могу проследить его до указанного коммита, где сначала были добавлены эти файлы.

1 Ответ

0 голосов
/ 06 апреля 2020

Решением является newren / git -filter-repo .

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