J'ai un certain nombre de projets qui sont dans des référentiels Git distincts en ce moment. Ils sont, de même, dans des projets Eclipse séparés (parce que je n'ai pas pu utiliser de projets parents utilisant le plugin Maven depuis longtemps à cause de bugs dans le plugin m2). Maintenant ça marche.Comment faire pour migrer des projets Git pour être un projet avec des sous-projets
J'ai donc combiné les projets dans Maven, en faisant un projet de base pom, en ajoutant cela comme parent aux autres. Ensuite, j'ai imbriqué les sous-projets. Lorsque je suis allé commettre le projet de base en tant que projet git, il a été décidé que les sous-répertoires étaient des sous-modules, même s'il n'y avait pas de fichier .gitmodules dans le répertoire racine.
On dirait que la seule façon d'y parvenir serait de perdre tout l'historique dans les projets qui sont combinés.
Juste pour être super clair, le courant ont:
Project A (repo A)
Project B (repo B)
Project C (repo C)
ce que je veux est:
New Base Project D (repo D)
/Project A
/Project B
/Project C
Je perdrais plutôt pas l'histoire, mais si je dois, je crois que je pourrais GRENIER les versions antérieures. Je ne pense pas que je veuille des sous-modules, car ceux-ci semblent être orientés vers l'inclusion de repos à distance qui ne sont pas sous votre contrôle.
A fait tourner la solution dans un script bash. Il suppose que les sous-répertoires que vous souhaitez ajouter sont dans des sous-répertoires du même niveau que le parent. Ici, il 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 est incroyable ..
Cela ressemble à une grande solution, va essayer ce soir. Merci. – Rob
Nice, je viens de le faire sur les 2 premiers projets. Ça a l'air génial. Merci. – Rob
Bonjour Dietrich? Je suis allé et j'ai fait un git sur l'un des fichiers pour la première fois depuis la migration. N'affiche que mon commit déplaçant le fichier dans le projet, donc il semble que cet historique a disparu. – Rob