devdev / in the loop

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 succederà dalla loro possibile unione (merge). Questo sia per avere uno sguardo d’insieme ai file risultanti dall’unione, ma soprattutto per essere pronti nel caso si presentassero eventuali conflitti. Per eseguire quest’operazione non esiste un comando ufficiale: possiamo soltanto aggirare la cosa e risolverla con l’astuzia, vediamo come.

La soluzione che ha funzionato meglio per me, è quella di non effettuare il merge sul ramo “reale”, bensì su un ramo temporaneo che ne è la copia. Questa tecnica è quindi semplice e soprattutto affidabile, perché nel caso commettessimo qualche casino, lo faremmo su un ramo di prova e quindi “non importante”.

Diciamo di star lavorando al ramo super-feature e di volerlo unire in develop. Vogliamo un’anteprima della loro fusione. Secondo quanto ci siamo appena detti, per prima cosa creiamo una copia temporanea di develop  chiamata develop-temp , e successivamente uniamo in quest’ultimo il nostro ramo di lavoro super-feature :

git checkout develop
git checkout -b develop-temp
git merge super-feature

In questo mondo possiamo semplicemente “gettare via” il ramo temporaneo nel caso volessimo soltanto “guardare” gli eventuali conflitti. Non avremo quindi bisogno di abortire il merge o altro nel caso di errori: potremo semplicemente tornare al nostro lavoro facendo il checkout  sul ramo develop :

git checkout develop

Come se niente fosse successo, perché il merge è sul ramo develop-temp , che saremo liberi di cancellare senza influenzare gli altri rami. In sostanza è quello che si chiama in gergo un dry-run.

 

Questo articolo ti è stato utile?
Git – LETTURA 4 MINUTI 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…
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.