Как перенести несколько репозиториев в моно-репо, сохраняя историю коммитов? - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь перенести несколько репозиториев Git в одно монорепо.

У меня есть два репозитория проектов, назовем их project1 и project2.В моем monorepo я хочу иметь каталог projects с двумя подкаталогами, project1 и project2.Каждый подкаталог должен содержать файлы из соответствующего проекта с сохраненной историей Git.

Возможно ли это даже с помощью стандартных команд Git?

Примечание: я посмотрел на Lerna - lerna import делаетименно то, что мне нужно, но, к сожалению, это работает только с проектами JS, и один из моих проектов - проект Ruby.

1 Ответ

0 голосов
/ 26 апреля 2018

Да, вы можете использовать команды git для достижения.

Перенести два репо в моно репо в подпапку project1 и project2, вам нужно переместить файлы в папку репозитория project1 / project2, зафиксироватьизменения, а затем объединить их вместе.Подробные шаги, как показано ниже:

1.Переместите файлы в папки project1 и project2 отдельно

В первом репо (например, repo1) переместите файлы в папку project1, как показано ниже:

# In local repo1 
mkdir project1
mv * project1
git add .
git command -m 'move files into project1 folder'
git push

Во втором репо (например repo2), переместите файлы в папку project2, как показано ниже:

# In local repo2
mkdir project2
mv * project2
git add .
git command -m 'move files into project2 folder'
git push

2.перенести два репо в momorepo

В любом локальном репо (например, в локальном repo1) выполните следующие команды:

# In local repo1
git remote add repo2 <URL for repo2> -f
git pull repo2 master --allow-unrelated-histories
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...