2012-06-06 26 views
5

Ho appena eseguitoAnnulla un git pull --rebase?

git pull --rebase 

e dimenticare di specificare "origine". Sembra un idiota tirato da tutti i rami diversi. C'è un modo per ripristinare il mio repo da qui per annullare il pull?

Grazie

risposta

7

Dopo un'operazione git pull, ORIG_HEAD devono puntare al valore precedente di HEAD. Si dovrebbe essere in grado di:

git reset --hard ORIG_HEAD 

e tornare al punto di partenza prima che l'operazione pull. È possibile eseguire:

git show ORIG_HEAD 

di vedere esattamente dove ORIG_HEAD sta puntando prima di eseguire il comando di reset.

Una soluzione alternativa sarebbe quella di creare un nuovo ramo sulla base di ORIG_HEAD:

git checkout -b newbranch ORIG_HEAD 

Verificare che le cose sembrano il modo in cui ci si aspetta, quindi eliminare il vecchio ramo e rinominare new branch.

Vedere anche this question per una discussione di HEAD e ORIG_HEAD e sintassi alternative per fare riferimento alla stessa cosa.

2

Usa git reflog

Vedrete un sacco di HEAD commit che provengono dal passato.

sicura è quella di checkout HEAD avete bisogno in un nuovo ramo e continuare da lì

git checkout -b phew [email protected]{x} # fill in the number of the commit you need. 
1

Ripristino da un borked/stupido/rebase moribonda

Accidentalmente ho corse git pull origin master --rebase invece di git pull origin develop --rebase.

Volevo solo ripristinare ciò che è successo dopo rebase e tornare all'ultima commit. Non ho spinto al ramo remoto.

È stato un grosso errore e voglio uscire dall'unione.

La via d'uscita più rapida dalla fusione è git rebase --abort