Usando IntelliJ para alterar a mensagem git commit

105

Pode-se alterar uma mensagem git commit usando IntelliJou deve-se recorrer à linha de comando?

Como isso pode ser feito, por favor?

James Raitsev
fonte

Respostas:

86

Exibir => Janelas de ferramentas => Controle de versão. ( Windows (Alt + 9) / OS X (Cmd + 9) )

IntelliJ 2017.1 e superior => Vá para Log e clique com o botão direito + reformular ou pressione F2.

IntelliJ renomear commit

Enquanto você estiver no mesmo branch, (seu branch com check-out é o mesmo)

Stefan Rein
fonte
4
Esta parece ser a única maneira (além, talvez, da linha de comando) de revisar comentários (sem fazer alterações para forçar um commit) com o WebStorm 2017.3. Esta janela de controle de versão aparece por meio de Alt + 9 ou Exibir-> Janelas de ferramentas-> Controle de versão.
CODE-REaD
3
No Idea 2017.3, o comando descrito é denominado "Reword ..." em vez de "Rename" (como mostrado na imagem :-)). F2 também funciona.
Volker Seibt
1
Alguém tem uma ideia de por que "Editar mensagem de confirmação ..." está esmaecido no meu IntelliJ (01/03/2019)?
Cold_Class
@Cold_Class Esta foi sua mensagem de confirmação? Eu tenho um acinzentado que é uma fusão. Tipo, Merge branch 'develop' of REPO_URL into BRANCH_NAMEé isso que você quer dizer?
Stefan Rein
@StefanRein - Eu estava tendo esse problema hoje e percebi que estava no modo de escolha
aleatória
72

Corrigir é compatível: invoque "Confirmar alterações" e selecione a caixa de seleção "Corrigir confirmação" na caixa de diálogo Confirmar. Então pressione o botão "Commit", e o commit será alterado para o anterior.

No entanto, o suporte é limitado:

  • você não pode ver os detalhes do commit sendo alterado,
  • se você não tem nenhuma alteração não confirmada (por exemplo, você apenas deseja alterar a mensagem do commit anterior sem adicionar mais alterações), você não será capaz de invocar "Commit".
LoKi
fonte
12
A solução usual para o segundo problema é adicionar alguns caracteres não importantes (espaços, etc.) a um arquivo para que você seja capaz de
enviar
O suporte da JetBrains me encaminhou para as solicitações de aprimoramento IDEA-81428 e IDEA-57979 . Esta pergunta e resposta também se aplicam ao PyCharm.
Wil Cooley
10
Essa resposta não é mais verdadeira desde 2017.2. Você pode fazer isso facilmente agora: Version Controlpainel> Logguia> selecione último commit> pressione F2. jetbrains.com/idea/whatsnew/#v2017-2-version-control
DLight
39

Finalmente encontrei uma solução alternativa para isso .. Esse problema estava me incomodando por dias.

  1. Vá para Controle de Versão - aba Log
  2. Selecione a versão, uma abaixo de suas alterações. Clique com o botão direito e diga "redefinir o branch atual para aqui"
  3. Selecione "Soft" e clique em Reset, isso é muito importante, você precisa clicar apenas em soft para que suas alterações não sejam perdidas.
  4. Verifique no controle de versão, mudanças locais, suas mudanças estarão disponíveis na mesma lista de mudanças
  5. Clique com o botão direito na lista de alterações e selecione confirmar.
  6. Ele irá mostrar a você sua mensagem de commit anterior, agora você pode alterar os comentários e dizer commit e push

    Note: This solution uses android studio as intellij platform. 
    
Ashish Rawat
fonte
1
Para mim, no IntelliJ 17.3, posso usar o item de menu "Reword ... (F2)" no Version Control: Log para apenas editar a mensagem de confirmação diretamente.
Claes Mogren
28

Você também pode ir para a pasta git com um terminal e shell como powershell, cmd ou bash (depende do seu sistema) e digitar:

git commit --amend -m "your new commit message"
Christopher J.
fonte
3
E como o IntelliJ fornece um terminal integrado, você nem precisa sair do IDE. Esta é provavelmente a maneira mais rápida.
walen,
14

As mensagens de confirmação podem ser editadas durante um rebase. Chame o Rebasecomando do VCSmenu, confirme as configurações do branch e clique no botão Rebase. Você verá uma lista de seus commits não enviados. Escolha a rewordação no menu suspenso à esquerda da mensagem que você deseja editar.

Verifique o documento git no histórico de reescrita para obter detalhes sobre outras ações de rebase.

teppic
fonte
2
Esta é uma das melhores opções. Se você já enviou suas alterações para a origem, o IDE irá avisá-lo. Isso é uma coisa boa, como se alguém já tivesse retirado o commit que você empurrou, alterando o commit, mesmo que apenas alterando a mensagem do commit, significará que todos que puxaram o commit anterior também precisarão fazer o rebase. Isso geralmente é uma "coisa ruim".
Chris Cogdon
3

Na guia Log, selecione o commit e pressione F2 (Reword). É isso aí.

omilus
fonte
2

Para ser justo, a maneira mais rápida de fazer isso é por meio da linha de comando. Eu sei que o OP estava perguntando sobre fazer isso via IntelliJ (é como eu encontrei essa pergunta, eu estava tentando fazer no PHPStorm), mas sério, é muito mais fácil via linha de comando.

Quando estiver na pasta correta em seu terminal / prompt de comando, digite

git commit --amend

Você verá a última mensagem de confirmação, simplesmente edite o texto e salve o arquivo. Trabalho feito!

Se você deseja alterar o editor (o padrão é vi), use este comando, alterando "vim" para o editor de sua escolha.

git config --global core.editor "vim"

ou seja, os usuários do Windows podem querer ...

git config --global core.editor "notepad"

Fonte: https://help.github.com/articles/changing-a-commit-message/

Steve Childs
fonte
1
Sua resposta é muito parecida com as outras e traz um método ainda menos conveniente. git commit --amend -m my_new_messageé usado para alterar a mensagem de confirmação diretamente da linha de comando.
Christopher J.
Eu acho que esse aqui é bom. Podemos modificar a mensagem com base na mensagem falsa. E o editor "VI" também é bom.
Leo Lee
@ChristopherJ. - desculpas, não vi sua resposta quando postei isto. Vou deixar aqui, pois tenho a adição de alterações no editor, se você não gostar do padrão.
Steve Childs
2

No caso, 2018.3 e mesmo com 2017.1

Alt + 9(janela de controle de versão)

E clique com o botão direito -> menu de contexto clique em "Reword ... F2"

OU

atalho F2Você pode editar a mensagem.

vermelho quente
fonte
1

Em JetBrains Go to View -> Version Control-> Isso abriria a guia de registro de controle de versão na parte inferior da tela Go to Loge você pode ver o commit que você fez por último, clique com o botão direito nele e selecioneundo commit

Bingo! Você reverteu todo o seu commit e a mensagem foi apagada. Você também pode optar por fazer uma reinicialização suave no caso de você só querer alterar a mensagem de confirmação

Emjey
fonte