Respostas:
Você tem duas opções:
Forneça uma mensagem de confirmação vazia. Se for um novo commit e você ainda não salvou a mensagem, você pode simplesmente usá-lo :q!(sair sem salvar). Se você já salvou (ou está alterando uma confirmação anterior), basta excluir a mensagem de log inteira e salvar novamente. Isso pode ser feito com ggdG+ :wqno Vim.
Faça o editor sair com um código de saída diferente de zero. No Vim, você pode usar :cq(saia com um código de erro).
É importante notar que você sempre pode redefinir sua cópia de trabalho para o estado em que estava antes da confirmação git reset HEAD^.
git reset HEAD^pedir mais, seu shell pode interpretar ^ como continuação de linha. Tente git reset "HEAD^", git reset HEAD^^ou em git reset HEAD~1vez disso, por esta resposta: stackoverflow.com/questions/14203952/git-reset-asks-more
:q!não funciona ao alterar uma confirmação. Ele não atualiza a mensagem de confirmação, mas executa a alteração :-(:cq aborta completamente a alteração.Resumindo:
git commit), pare de usar :q!.git commit --amend), remova a mensagem de confirmação (apenas as primeiras linhas que não começam com um #), por exemplo, mantendo ve pressionando as teclas de seta para selecioná-la e pressionando Excluir. Saia com :wqpara aplicar as alterações ! Se você usar:q! as alterações serão perdidas e a mensagem de confirmação anterior será usada.Ao usar o VIM, é aceitável sair dos dois casos :cq- o VIM será encerrado com um código de erro e a confirmação será cancelada.
:q!para sair do vim.