devdev / in the loop

Come creare un nuovo repository Git a partire da un ramo esistente (mantenendo la cronologia)

Spesso i nostri progetti prendono vie inaspettate e tortuose. Cambiano i requisiti, o semplicemente le idee, o ancora più semplicemente i clienti hanno idee complicate.
Capita, quindi che a volte un ramo del nostro repository di progetto, assuma una forma tale da dover diventare un progetto a sé stante.

Vediamo quindi come creare un repository completamente nuovo a partire da un branch mantenendo però tutta la sua cronologia.

Creiamo il nuovo repo

Per prima cosa, creiamo un nuovo repository, in locale o sulla nostra piattaforma preferita, sia essa GitHub, BitBucket, GitLab, etc. Nel nostro esempio, lo creeremo su GitHub chiamandolo nuovo-repository. Avremo quindi un indirizzo del genere: https://github.com/accountname/nuovo-repository.git . Nel nostro esempio il ramo da “promuovere” dal repository di partenza si chiama feature/supermega.

Posizioniamoci nel ramo

A questo punto posizioniamoci in questo branch (facendo il git checkout) nella nostra copia locale del vecchio repository al quale appartiene appunto il ramo.

Pushiamo sul nuovo repository

Eseguiamo

git push https://github.com/accountname/nuovo-repository.git +feature/supermega:master

per creare il ramo master sul nuovo repository a partire dal ramo feature/supermega . Tutta la sua cronologia verrà conservata.

Questo metodo accetta parametri multipli, con il risultato che potremo mappare più di un ramo allo stesso tempo. Ecco un esempio:

https://github.com/accountname/nuovo-repository.git +feature/supermega:master +ramolocale:ramonuovo

 

Questo articolo ti è stato utile?
Git – LETTURA 4 MINUTI Come visualizzare l’anteprima di un git merge
Quando ci apprestiamo ad unire due rami (branch) di un repository git, potremmo aver bisogno di avere un’anteprima di cosa…
Git – LETTURA 5 MINUTI Git: differenza tra fork e clone
Quando ci avviciniamo al mondo dell’open source, è fondamentale avere una conoscenza approfondita di git, perché in sostanza è l’unico…
Git – LETTURA 4 MINUTI GitHub Free adesso permette di creare repository privati gratis
Se siete utenti GitHub ma non avete un piano a pagamento attivo, questa sarà una buona settimana! Storicamente GitHub ha sempre offerto…
Git – LETTURA 4 MINUTI Annullare ultimo commit in Git
Se sei interessato ad imparare Git, abbiamo una guida che fa al caso tuo. Oh no, presi dalla frenesia abbiamo…
Roba figa da
if (weekend) {
    relax();
}
la nostra newsletter, ogni tanto.