Как разделить репозиторий git на два, но сохранить историю git для обоих? - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть хранилище, которое полностью загромождено и является очень хорошим кандидатом для разделения и разделения, чтобы уменьшить время сборки CI. Однако я хочу сохранить текущую историю Git в обоих при удалении ненужных мне частей из любого репозитория, зафиксировав эти основные изменения.

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

1 Ответ

0 голосов
/ 07 февраля 2020

Вот как бы я это сделал. Я буду использовать оригинал-репо, новый-репо1 и новый-репо2 в качестве резервных для ваших репозиториев:

cd ~
git clone original-repo new-repo1
cd new-repo1
git rm -r stuff-you-dont-want
git commit

cd ~
git clone original-repo new-repo2
cd new-repo2
git rm -r different-stuff-you-dont-want
git commit

Теперь у вас будет две разные папки с двумя расходящимися копиями репо. Затем вы можете обновить исходные пульты, чтобы они указывали на различные удаленные репозитории (например, на Github).

cd ~/new-repo1
git remote set-url origin new-repo1-url
git push -u origin master

cd ~/new-repo2
git remote set-url origin new-repo2-url
git push -u origin master
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...