Annullare una scelta di ciliegie?


389

Ho corso git cherry-pick <hash>e ho avuto conflitti di unione. Non voglio risolvere i conflitti, voglio solo interrompere la scelta della ciliegia. Quando si esegue una fusione effettiva (con git merge), è utile git merge --abort. Qual è l'equivalente per la raccolta delle ciliegie?

Risposte:


602

Puoi fare quanto segue

git cherry-pick --abort

Dai git cherry-pickdocumenti

--abort  

Annullare l'operazione e tornare allo stato pre-sequenza.


6
L'opzione --abort è stata rimossa / aggiunta in una versione git specifica? Sto eseguendo git 1.7.4.1 e "git cherry-pick --abort" genera un messaggio di utilizzo di git cherry-pick. Ho anche chiamato "git help cherry-pick" per "abort" e non ho trovato nulla.
danns87,

1
@ danns87 l' --abortopzione è diventata disponibile alla versione 1.7.8 . È possibile aggiornare?

4
sì, questo non funziona. La maggior parte delle volte ottengo questo error: Entry '<unstaged file>' not uptodate. Cannot merge. D'altra parte, git reset --mergefunziona!
Kumarharsh,

@KumarHarsh quale versione di Git stai usando?

1
> 1.8. In realtà, era a causa di file sporchi nella directory. Ma il git reset --mergecomando funziona anche allora.
Kumarharsh,

73

Ho trovato la risposta è git reset --merge: cancella il tentativo di raccolta delle ciliegie in conflitto.


4
È diverso da git reset --hard? Sto usando il flusso di lavoro rebase, se non altro. Sembra funzionare per me.
x-yuri,

3
qual è la differenza tra --mergee --abort?
ffghfgh,

8

Per me, l'unico modo per resettare il fallito tentativo di selezione delle ciliegie era

git reset --hard HEAD

Questo non risponde alla domanda e suggerisce solo un'operazione che potrebbe distruggere i dati.
martinkunev,

2

Prova anche con l'opzione '--quit', che ti consente di interrompere l'operazione corrente e di cancellare ulteriormente lo stato del sequencer.

--quit Dimentica l'operazione in corso. Può essere usato per cancellare lo stato del sequencer dopo una selezione o un ripristino fallito.

--abort Annulla l'operazione e ritorna allo stato pre-sequenza.

usa help per vedere il documento originale con maggiori dettagli, $ git help cherry-pick

Eviterei 'git reset --hard HEAD' che è troppo duro e potresti finire per fare un po 'di lavoro manuale.


Quello non dovrebbe esistere. Git è abbastanza complicato senza due modi per annullare una scelta della ciliegia che ha effetti leggermente diversi sullo stato del repository.
Kaz,

È vero, non mi dà alcun errore, ma non si esce completamente dallo stato del comando.
Yu Chen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.