объединить (освоить) и удалить все временные ветки проекта

я есть несколько проектов, которые сейчас находятся в отдельных репозиториях 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 это удивительно ..

Ответы на вопрос(3)

Ваш ответ на вопрос