объединить (освоить) и удалить все временные ветки проекта
я есть несколько проектов, которые сейчас находятся в отдельных репозиториях Git. Они также находятся в отдельных проектах Eclipse (потому что я не мог долгое время использовать родительские проекты, использующие плагин Maven из-за ошибок в плагине m2). Теперь это работает.
Поэтому я объединил проекты в Maven, сделав базовый проект, добавив его в качестве родителя к другим. Затем я вложил подпроекты.
Когда я решил зафиксировать базовый проект как git-проект, он решил, что подкаталоги являются субмодулями, хотя в корневом каталоге не было файла .gitmodules.
Похоже, что единственный способ добиться этого - потерять всю историю в проектах, которые объединяются.
Просто чтобы быть супер ясным, ток есть:
Project A (repo A)
Project B (repo B)
Project C (repo C)
что я хочу это:
New Base Project D (repo D)
/Project A
/Project B
/Project C
Я бы предпочел не потерять историю, но если бы мне пришлось, я думаю, я мог бы ограничить предыдущие версии. Я не думаю, что мне нужны субмодули, поскольку они, похоже, направлены на включение удаленных репо, которые не находятся под вашим контролем.
Превратил решение в bash-скрипт. Предполагается, что подпрограммы, которые вы хотите добавить, находятся в подкаталогах на одном уровне с родительским. Вот:
#! /bin/bash
git remote add -f $1 ../$1
git merge -s ours --no-commit $1/master
git read-tree --prefix=$1 -u $1/master
git commit -m "Added project $1"
Git это удивительно ..