git: разбить существующее хранилище на подмодули - PullRequest
0 голосов
/ 09 декабря 2018

Я нашел ответы только о том, как использовать git-поддеревья для разделения хранилища.Тем не менее, я явно хочу подмодули.

Это проект Java Maven.В настоящее время все находится в одном проекте Maven и одном хранилище.Моя цель заключается в достижении чего-то подобного:

Корневой репозиторий должен содержать основной pom.xml, системную документацию и т. Д. Затем должно быть несколько подмодулей, один для служебной библиотеки, один для основного приложения,и так далее.Подмодули представляют собой собственный проект maven, на который ссылается основной проект maven в корневом хранилище.Корневой репозиторий не будет содержать никакого исходного кода.

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

1 Ответ

0 голосов
/ 09 декабря 2018

Я нашел ответы только о том, как использовать git-поддеревья для разделения хранилища.Тем не менее, я явно хочу субмодули.

Это именно то, что вам нужно сделать.Разделите «main» на ветви с помощью git subtree --split <path>, а затем добавьте пульт дистанционного управления для каждого подмодуля и протолкните ветку на пульт.

# split the "main repo"
git subtree --split .... <branch1>

# For each branch that you extract

# add remote for branch 1
git remote add submodule1 <url>

# push the submodule
git push submodule1 <branch>

Как только все ваши подмодули настроены, добавьте их в «main»репо

# add the submodules 
git submodule add <url>

# and once all your submodules are added commit the .gitmodules file
...