Come interrompere un'unione o un rebase di Git
Una fusione si è fermata sui conflitti e tu vuoi uscire. git merge --abort ti riporta al punto di partenza. Ecco il comando giusto per ogni operazione interrotta, cosa mantiene ciascuna e cosa fare una volta terminata.
Scritto da Kodmora
La software house dietro GitTree
- Unisci
- Ribasare
- Annullamento e ripristino
- Unisci conflitti
In questa pagina
Per annullare un'unione in corso, esegui `git merge --abort`. Per annullare un rebase, esegui git rebase --abort. Entrambi hanno rimesso il ramo esattamente dov'era prima di iniziare. Funzionano solo mentre l'operazione è interrotta. Una volta confermata l'unione, non c'è nulla da interrompere e sono invece necessari git reset o git revert.
Quale comando interrompe quale operazione?
Esegui prima git status. Le sue prime righe denominano ciò che è in corso e questo ti dice quale comando ti serve:
| Cosa è in corso | Annullalo | Continua così |
|---|---|---|
| Unisci | git merge --abort | git commit o git merge --continue |
| Ribasare | git rebase --abort | git rebase --continue o --skip |
| Scegli la ciliegia | git cherry-pick --abort | git cherry-pick --continue |
| Ripristina | git revert --abort | git revert --continue |
Patch da git am | git am --abort | git am --continue |
Come posso interrompere un'unione?
git status
# You have unmerged paths.
git merge --abort
git status
# nothing to commit, working tree cleanFunziona anche dopo un git pull che si è interrotto a causa di un conflitto, perché un pull è un recupero seguito da un'unione. Se il tuo pull è impostato su rebase, utilizza invece git rebase --abort.
Come posso interrompere un rebase?
git rebase --abortIl ramo ritorna al punto in cui si trovava prima dell'inizio del rebase, anche se alcuni commit erano già stati riprodotti. Per interrompere ma mantenere i commit riprodotti finora su un HEAD distaccato, usa git rebase --quit, quindi decidi cosa mantenere. Se un commit semplicemente non è più necessario, git rebase --skip lo elimina e prosegue.
Perché Git dice "Non c'è alcuna unione da interrompere"?
fatal: There is no merge to abort (MERGE_HEAD missing).- L'unione è già terminata. Leggi
git log -3. Se il commit di unione è presente, annullalo come mostrato di seguito. - È un rebase o un cherry-pick.
git statusnomina l'operazione reale. Usa la sua interruzione dalla tabella. - I conflitti provengono da `git stash pop`. Non si tratta di un'unione. Esegui
git reset --mergeper cancellarli. La scorta viene conservata, quindi nulla va perduto.
Come posso annullare un'unione già completata?
Se non lo hai inviato, sposta indietro il ramo. Git salva la posizione pre-unione in ORIG_HEAD:
git reset --hard ORIG_HEADQuesto comando scarta le modifiche non salvate, quindi controlla prima git status. Se hai effettuato un push, mantieni intatta la cronologia con un commit di ripristino, come spiegato in come ripristinare un commit di unione:
git revert -m 1 <merge-sha>Come posso annullare un rebase già terminato?
Trova il commit prima del rebase nel reflog e ripristinalo:
git reflog
# 7c1d9ab HEAD@{4}: rebase (start): checkout main
# 3e52f10 HEAD@{5}: commit: add search box
git reset --hard HEAD@{5}Scegli la voce appena prima della riga che dice rebase (start). Annullamento di un ripristino, rebase o commit illustra questo argomento in modo più dettagliato.
Dovrei interrompere o risolvere i conflitti?
Interrompi quando hai unito il ramo sbagliato, hai avuto lavoro non confermato o desideri ripensare l'approccio. Interrompere non costa nulla e puoi ricominciare quando vuoi. Risolvi quando i conflitti sono pochi e capisci entrambe le parti. Come risolvere i conflitti di unione mostra come leggere gli indicatori.
Come interrompere un'unione o un rebase in GitTree
Leggi lo striscione
Un banner sopra il grafico nomina l'operazione, ad esempio Unione di funzionalità/ricerca in sviluppo, e quanti conflitti rimangono.
Scegli Interrompi
Premi Interrompi… nel banner. Risolvi e Continua siediti accanto se cambi idea.
Conferma
La finestra di dialogo Interrompere l'operazione? dice cosa viene rilasciato. Premere Interrompi. GitTree salva prima ciò che inserisce negli snapshot di ripristino, quindi Annulla può ripristinarlo.

Vedi continua, salta o interrompi un'operazione per ogni caso e la lezione continua, salta e interrompi per esercitarti.
Domande frequenti
Git merge --abort elimina le mie modifiche?
Rimuove le modifiche dell'unione e tutte le risoluzioni dei conflitti apportate finora. Il lavoro che hai confermato prima della fusione è sicuro. Le modifiche non confermate prima dell'unione potrebbero non tornare in modo pulito, quindi esegui il commit o l'archivio prima dell'unione.
Qual è la differenza tra git merge --abort e git reset --merge?
git merge --abort è la normale via d'uscita da un'unione ed esegue git reset --merge per te quando l'unione è in corso. Utilizza git reset --merge direttamente quando i conflitti provengono da qualcos'altro, come git stash pop.
Come posso interrompere un git pull?
Un pull che si ferma in caso di conflitti è una fusione o un rebase. Esegui git status per vedere quale, quindi utilizza git merge --abort o git rebase --abort.
Posso interrompere un'unione dopo aver risolto alcuni conflitti?
Sì, finché non esegui il commit. git merge --abort elimina anche le risoluzioni, quindi ricomincerai da zero se unisci nuovamente. L'attivazione di git rerere fa sì che Git li ricordi.
Cosa fa git rebase --quit?
Interrompe il rebase senza spostare indietro HEAD, lasciandoti sui commit riprodotti finora. git rebase --abort è ciò che desideri in quasi tutti i casi.
Fonti
Le affermazioni su altri prodotti sono state confrontate con le rispettive pagine ufficiali in data 7 novembre 2026. Cambiano prezzi e caratteristiche; le pagine dei venditori sono la fonte della verità.
