Git - Como fechar o editor de confirmação?

209

Eu sou novo em aprender e aprender com um PDF. Acabei de executar um comando $ git commite ele abre um novo editor. Mas estou tentando fechar esse novo editor de confirmação. Como fazer isso? Estou usando o git no windows.

aniskhan001
fonte
não é uma resposta completa, mas uma maneira de evitar o editor é usar a opção "-m". Por exemplo, depois de $ git, adicione <your_changes>, e faça $ git commit -m "minhas alterações; estou evitando o editor!"
Quetzalcoatl

Respostas:

242

Salve o arquivo no editor. Se for o Emacs: CTRLX CTRLSpara salvar, então CTRLX CTRLCsaia ou se for vi::wq

Pressione escprimeiro para sair da edição. (no windows / vi)

tpg2114
fonte
3
O usuário precisa fechar o editor, além de salvar o arquivo, portanto, para o Emacs, é realmente Ctrl-X Ctrl-C.
user4815162342
1
Atualizado ... Eu sabia disso, mas como a maioria dos comandos do emacs, eles estão tão arraigados em mim que esqueço o que são ... Eu apenas os faço.
tpg2114
Se você usar emacsclient, você pode fechá-lo comC-x #
azzamsa
1
obrigado, no windows bash não está claro que você deve 1: exit e 2: save the changes #
Juan Monsalve
Esse modo de inserção é algo que eu posso desativar na minha máquina Windows?
Rez.Net 15/03
201

Teve problemas também. No Linux, usei Ctrl+ X(e Ypara confirmar) e depois voltei ao shell, pronto para puxar / empurrar.

No Windows, o GIT Bash Ctrl + Xnão faria nada e descobriu que funciona como o vi / vim. Pressione ipara entrar no modo de inserção em linha. Digite a descrição na parte superior, pressione escpara sair do modo de inserção e digite :x!(agora o cursor está na parte inferior) e pressione enterpara salvar e sair.

Se você digitar :q!, sairá do editor sem salvar (e a confirmação será abortada)

Marc Compte
fonte
18
esta é a resposta para mim para Windows
filão
1
esc: x! - Isso não é apenas indiscutível, é como se alguém estivesse brincando de esconde-esconde com funcionalidade.
Tristan
45

Após escrever a mensagem de confirmação, basta pressionar o botão Esc e depois escrever : wq ou : wq! e então Enter para fechar o arquivo unix.

chandan gupta
fonte
6
esta solução é a que o trabalho em Git Gui festa para a janela
ocrampico
! Isso me lembrou os dias da Universidade, quando fizemos algumas edições do Unix vi, depois de muito tempo escrevemos alguns :wqcomandos
Irf
:xé um atalho para :wqno Vim.
Rnevius
19

Melhor ainda, configure o editor para algo que você se sinta confortável (gedit como exemplo):

git config --global core.editor "gedit"

Você pode ler a configuração atual assim:

git config core.editor

Você também pode adicionar a mensagem de confirmação na linha de comando.

git commit -m "blablabla"

e o editor não será aberto em primeiro lugar.

Martin G
fonte
7

Após o git commitcomando, você entrou no editor, então primeiro pressione ie comece a digitar. Depois de cometer sua mensagem atingiu Ctrl + c, em seguida,:wq

Mohammad Hashemi
fonte
4

Alternativas ao Nano (pode facilitar sua vida):

No Windows, use o bloco de notas. No prompt de comando, digite:

git config core.editor notepad

No Ubuntu / Linux, use o editor de texto (gedit). Na janela do terminal, digite:

git config core.editor gedit

ggootz
fonte
1

Como alternativa ao 'save & quit', você pode usar a função git-commit git-commit-commit, por padrão vinculada a C-c C-c. Ele salvará o arquivo e o fechará. Depois, você ainda precisa fechar o emacs C-x C-c, como mencionado anteriormente. Atualmente, estou tentando descobrir como fazer o emacs sair automaticamente.

Martin
fonte
1

Eu tive esse problema, recebi um prompt do tipo ">" e não pude confirmar. Eu substituo o "no comentário por 'e funciona.

Espero que isso ajude alguém!

Mariano Cali
fonte
Aha! Eu também fiquei preso com esse prompt ">". Ao ler o seu comentário, descobri que, como havia usado um apóstrofo em uma contração no meu comentário, o terminal estava esperando que eu encerrasse a citação! Finalmente estou livre!
Kevin Scharnhorst
0

Não tenho certeza da combinação de teclas que leva você ao prompt>, mas não é um prompt do bash que eu conheço. Eu costumo pegar por acidente. Ctrl + C (ou D) retorna ao prompt $.

dubfactor
fonte
0

Observe que se você estiver usando o Sublime como seu editor de confirmação, precisará dos -n -wsinalizadores , caso contrário, o git continuará pensando que sua mensagem de confirmação está vazia e abortando.

Siddhartha
fonte
0

No Mac 1.Pressione Shift + Z Shift + Z (Z maiúsculo duas vezes).

A_Mo
fonte