Abortar uma paleta de cereja?

389

Eu corri git cherry-pick <hash>e tive conflitos de mesclagem. Não quero resolver os conflitos, só quero abortar a escolha da cereja. Ao fazer uma mesclagem real (com git merge), há o útil git merge --abort. Qual é o equivalente à colheita de cerejas?

agmin
fonte

Respostas:

602

Você pode fazer o seguinte

git cherry-pick --abort

Dos git cherry-pickdocumentos

--abort  

Cancele a operação e retorne ao estado pré-sequência.


fonte
6
A opção --abort foi removida / adicionada em uma versão git específica? Estou executando o git 1.7.4.1 e "git cherry-pick --abort" resulta em uma mensagem de uso do git cherry-pick. Também grepped "git help cherry-pick" para "abort" e não encontrei nada.
danns87
11
@ danns87 a --abortopção ficou disponível na versão 1.7.8 . É possível atualizar?
4
Sim, isso não funciona. Na maioria das vezes eu entendo isso error: Entry '<unstaged file>' not uptodate. Cannot merge. Por outro lado, git reset --mergefunciona!
precisa saber é o seguinte
@KumarHarsh qual versão do Git você está usando?
11
> 1.8. Na verdade, foi por causa de arquivos sujos no diretório. Mas o git reset --mergecomando funciona mesmo assim.
precisa saber é o seguinte
73

Eu encontrei a resposta é git reset --merge- ela limpa a tentativa conflituosa de escolher a cereja.

agmin
fonte
4
É diferente de git reset --hard? Estou usando o rebase do fluxo de trabalho, se houver. Parece funcionar para mim.
X-yuri
3
qual é a diferença entre --mergee --abort?
ffghfgh
8

Para mim, a única maneira de redefinir a tentativa falha de escolha de cereja era

git reset --hard HEAD
Diego P. Steiner
fonte
Isso não responde à pergunta e apenas sugere uma operação que provavelmente destruirá os dados.
martinkunev 31/01
2

Tente também com a opção '--quit', que permite interromper a operação atual e limpar ainda mais o estado do seqüenciador.

--quit Esqueça a operação atual em andamento. Pode ser usado para limpar o estado do seqüenciador após uma falha na seleção ou reversão de cereja.

--abort Cancela a operação e retorna ao estado pré-sequência.

use a ajuda para ver o documento original com mais detalhes, $ git help cherry-pick

Eu evitaria o 'git reset --hard HEAD' que é muito duro e você pode acabar fazendo algum trabalho manual.

Yu Chen
fonte
Isso não deveria existir. O Git é bastante complicado sem duas maneiras de cancelar uma seleção de cereja que tem efeitos sutilmente diferentes no estado do repo.
Kaz
É verdade que isso não me dá nenhum erro, mas não sai completamente do estado do comando.
Yu Chen