Como migrar projetos Git para serem um projeto com subprojetos

Tenho vários projetos que estão em repositórios Git separados agora. Eles também estão em projetos eclipse separados (porque eu não consegui usar projetos pai usando o plug-in Maven por um longo tempo devido a erros no plug-in m2). Agora isso funciona.

Então, eu combinei os projetos no Maven, criando um projeto de base, acrescentando isso como o pai dos outros. Então aninhei os subprojetos.

uando fui confirmar o projeto base como um projeto git, ele decidiu que os subdiretórios eram submódulos, mesmo que não houvesse arquivo .gitmodules no diretório rai

Parece que a única maneira de fazer isso seria perder todo o histórico dos projetos que estão sendo combinado

Apenas para ser super claro, atual tem:

Project A (repo A)
Project B (repo B)
Project C (repo C)

o que eu quero é:

New Base Project D (repo D)
   /Project A
   /Project B
   /Project C

Prefiro não perder nenhuma história, mas se for preciso, acho que posso sótão nas versões anteriores. Acho que não quero submódulos, pois eles parecem estar voltados para incluir repositórios remotos que não estão sob seu control

Transforma a solução em um script bash. Ele pressupõe que os subs que você deseja adicionar estejam em subdiretórios no mesmo nível que o pai. Aqui está

#! /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 é incrível ..

questionAnswers(3)

yourAnswerToTheQuestion