Ho un repository Git Old
che voglio spostare in una sottocartella sub
di un repository Git esistente New
. Ho due rami, master
e feature
, all'interno di Old
che voglio trasferire anche; Old\master
si deve semplicemente unire in New\master
e ci dovrebbe essere una nuova filiale in New
denominata old-feature
.Spostare un repository Git in una sottocartella di un altro con diramazioni
Non sono eccessivamente preoccupato per la storia pulita; il mio attuale processo è di fare semplicemente un git mv
in Old
prima di fare le migrazioni, e per me va bene. Preferisco evitare di riscrivere la cronologia, se possibile.
miei passaggi della migrazione in corso sono le seguenti (in New
repo):
git remote add -f old ...
- Crea nuovo
old-feature
ramomaster
. - Creare il ramo locale
feature
daold/feature
. - Unisci ramo
feature
->old-feature
. - Unisci ramo
old/master
->master
. - Premere entrambi i rami.
Anche se questo funziona, trovo che più tardi se mi fondo old-feature
-master
, Git non è la comprensione della storia (intendo la mia storia incasinata) e tratta il ogni file come un conflitto di unione. Come posso eseguire una corretta migrazione mantenendo le relazioni tra filiali?
Cosa si fa con 'git mv' in' old'? Per esempio. stai spostando tutti i file e le directory da 'Vecchio' a' Vecchio \ sub'? –
I due reposli hanno commesse comuni da avviare? –
@ShaunLuttin: Sì, ora li sto spostando in 'sub' mentre sono ancora in' Vecchio', quindi eseguo la migrazione. I due repository non hanno nulla in comune. –