Ответ 1
Лучший подход - это слияние поддерева.
Сначала удалите подмодули и соответствующую конфигурацию из вашего суперпроекта; Измените файл .gitmodules, чтобы удалить затронутые подмодули, или полностью удалить файл, если вы собираетесь объединить все подмодули. Удалите также подмодульные каталоги.
Затем добавьте репозитории подмодулей в качестве правильных пультов к вашему суперпроекту:
git remote add site https://[email protected]/ajf-/site.git
git remote add wpsite https://[email protected]/ajf-/wpsite.git
Затем извлеките пульт дистанционного управления:
git fetch --all
Теперь, проверьте ветки, которые вы хотите перенести в свой основной проект из каждого подпроекта:
git checkout -b site-branch site/some_branch
git checkout -b wpsite-branch wpsite/some_other_branch
Теперь вы готовы объединить эти ветки в виде поддеревьев с вашим основным проектом:
git read-tree --prefix=site/ -u site-branch
git read-tree --prefix=wpsite/ -u wpsite-branch
И все готово. Проверьте результат с помощью gitk --all
.
Поскольку вы хотите конвертировать в один проект, вы не собираетесь обновлять подпроекты самостоятельно, поэтому я не буду описывать, как это работает.
Вы можете прочитать это в главе о слиянии поддерева с Pro Git