Annullare un git merge che non è stato ancora pushato

di Lorenzo Neri
1.727 visualizzazioni

Nel tuo repository locale potresti aver fatto un merge per errore che per fortuna non hai ancora pushato. In questo articolo, scopriamo come annullarlo.

Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

In questa sezione del sito, ovvero tutto ciò che riguarda GIT e il versionamento, ho deciso di raccogliere tutte le soluzioni che ho trovato lungo la mia strada fatta di errori nel mondo lavorativo.

E quindi, perchè non condividerla con te che mi stai leggendo così da aiutarti?

Una delle cose più frustranti che può capitarti durante l’esecuzione di un merge… è doverlo annullare prima di pusharlo.

Però, prima di capire come annullare un git merge che non è stato ancora pushato, dobbiamo trovare il commit che hai fatto prima di eseguire il merge.

Come fare? Semplicemente così:

git reflog

Il comando “git reflog” a differenza di “git log” mostra tutti i commit in ordine di esecuzione, motivo per cui torna più “leggibile”.

Ciò detto, una volta individuato il commit precedente al merge, prendiamo il relativo HASH del commit e teniamola da parte. Ci servirà giusto ora.

git reset --hard HASH_Del_Commit

Diversamente, possiamo usare:

git reset --hard HEAD~1

In questo modo annulliamo l’esecuzione del merge.

Ora che abbiamo capito come annullare il git merge prima ancora di averlo pushato, c’è da tenere presente una cosa prima che tu vada nel panico.

Tutti i file modificati verranno ripristinati al loro stato.

Vediamo una strada alternativa per fare ciò.

git reset --merge ORIG_HEAD

In questo modo, oltre a risolvere tutto con un solo comando succede un’altra cosa interessante.

I file non vengono ripristinati inutilmente, inoltre l’opzione “–merge” reimposta l’indice e aggiorna i file del working tree.

Non solo: mantiene le modifiche che non sono state ancora aggiunte.

Siamo salvi? Non del tutto.

Scrivere su questo blog può aiutare te, ma anche altre persone che conosci: se hai trovato utile questo articolo, non esitare a condividerlo!

Continua a scoprire di più con questi articoli!

2 commenti

Eliana 04/04/2022 - 10:28

grazie

Rispondi
Lorenzo Neri 04/04/2022 - 10:46

Ciao Eliana, grazie a te 🙂

Rispondi

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più