Correção: Por favor, insira uma mensagem de confirmação para explicar por que essa fusão é necessária

Possivelmente, uma das mensagens de erro mais embaraçosas para ficar presa ao usar o hub de desenvolvimento git envolve mensagens de confirmação após fazer uma fusão normal. Você pode ver uma linha instruindo-o a inserir uma mensagem de confirmação para explicar por que essa mesclagem é necessária, mas se você escrever algo lá, ela não permitirá que você saia. A razão pela qual isso é tão embaraçoso é porque essa não é uma mensagem de erro.

O prompt está realmente lá para humanos que precisam editar git merges, e qualquer texto adicionado é simplesmente um aviso para outros desenvolvedores que podem estar olhando o que você escreveu. Você tem que sair do editor da mesma forma que faria se o estivesse usando em uma tela de terminal padrão.

Sair do git mesclagens que solicitam mensagens de confirmação

Geralmente, você verá isso se tiver executado uma mesclagem normal no git como parte de um documento separado. Às vezes, você pode obter este prompt após um bloco de código ao mesclar um upstream atualizado em seu próprio branch de tópico. Nenhuma documentação do git explica o que fazer quando você acessá-lo, porque ele realmente não é um prompt.

Ambas as linhas desta mensagem começam com o símbolo #, o que significa que são comentários. Já que o git não sabe quantos desenvolvedores estão trabalhando em um projeto, isso é adicionado para que você possa deixar uma mensagem para outras pessoas sobre por que você fundiu um upstream em um branch de tópico. Você precisa saber qual editor está usando para sair dele.

Na maioria dos casos, você está usando os editores vi ou vim. Pressione a tecla Esc e digite: wq e pressione Enter para sair. É a mesma maneira que você sairia do vim em qualquer outra ocasião. Isso salva o arquivo e sai, o que o levará diretamente para fora do git.

Observe todas as dicas que podem ajudá-lo a saber que tipo de editor você está usando. Em nossa captura de tela de exemplo, os caracteres til extras mostrando novas linhas a serem inseridas em um arquivo foram uma revelação de que a plataforma git nos colocou no vim. Então, novamente, se você não conseguir descobrir qual editor está usando, aperte Esc e use o comando: wq porque vi e vim são quase universais neste ponto, então você descobrirá que isso geralmente o ajudará.

Por outro lado, se você estava usando o nano, simplesmente pressione Ctrl + X e digite y quando for perguntado se deseja salvar as alterações. Assim que você pressionar enter, você sairá do git e voltará para onde quer que estivesse antes. Você geralmente notará uma linha no topo do terminal que diz “GNU nano” nestes casos. Caso contrário, procure alguns atalhos de teclado na parte inferior da janela.

Se você achar que nenhum desses métodos funciona, pressione Ctrl + X seguido de Ctrl + C para sair. Isso deve tirar você do git na chance de estar usando o editor emacs. Esta é uma circunstância incomum. Na maioria dos casos, Esc seguido por: wq deve funcionar e Ctrl + X seguido de y deve funcionar nos casos em que isso não funciona. Você vai querer usar Ctrl + X seguido de Ctrl + C apenas se souber que está no emacs ou se esses dois métodos não funcionarem. Ctrl + C também deve funcionar, embora sem salvar, se você estiver usando o editor JOE em seu terminal git.

Assim que estiver no prompt e de volta ao prompt, digite cat ~ / .gitconfig | grep editor no terminal para descobrir em qual editor você está preso com certeza. Você receberá uma linha de volta que diz algo como editor = vim, que seria o nome do editor para o qual o git é padronizado. No futuro, você pode usar o método padrão para sair desse editor se, após uma fusão git normal, você ver a linha “Por favor, digite uma mensagem de confirmação para explicar porque esta fusão é necessária” linha novamente.

Você também pode querer editar o arquivo, com o editor de texto de sua preferência, e alterá-lo para o que quiser. Role para baixo até onde se lê [core] e, em seguida, altere a linha que diz “editor = vim” para ler o que você quiser. Por exemplo, você pode querer ler “editor = nano” se preferir usar o editor nano para codificar.