Как можно объединить git - репозиторий r2 и r3 внутри r1 с коммитами и т.д.?
Структура папок:
r1 /
.git
r2/
.git
main.cpp
r3/
.git
main1.cpp
Мне нужно объединить репозиторий r2 и r3 внутри r1 чтобы все коммити и истории перемешались
Я хочу, чтобы папки оставались на своих местах, а все истории и коммиты были объединены
точнее, здесь я клонировал репозиторий r2 и r3 внутри r1 , а затем опубликовал Но потом не смог открыт репозиторию r2 и r3 внутри github Там папка отображается, но открывается
Ответы (1 шт):
Есть такая утилита git filter-repo, официально рекомендованная авторами git.
Позволяет переписать историю в репозитории по указанным правилам. В частности, можно перенести во всех коммитах все файлы из корня репозитория в подпапку.
Выполняете такое действие с репозиториями r2 и r3.
Далее у r1 подключаете и r2 и r3 как remote, делаете из обоих fetch, и межите их master'а в master r1.
Готово.
PS конкретные команды не привожу, так как в разных ОС (Win, Linux) они будут сильно отличаться мелкими деталями типа кавычек, слэшей и т.д.