Git: modificar uma mensagem de confirmação existente

Erros são comuns, todos nós os cometemos. É por isso que eles colocam borrachas nos lápis. E isso não é diferente com ferramentas como o Git. Embora algumas alterações possam ser difíceis de desfazer, geralmente há uma maneira.

E daí se você quiser modificar uma mensagem de commit existente? Felizmente, isso é simples de fazer no Git, mas o método pode mudar um pouco dependendo de alguns fatores.

Corrigir o último commit, ainda não enviado para o remoto

Este é o caso mais simples, pois não há necessidade de modificar um repositório remoto, você só precisa modificar o seu próprio. Nesse caso, você pode usar o seguinte comando:

$ git commit --amend

A execução deste comando abrirá um editor onde você pode modificar o último mensagem de confirmação. Assim que terminar e salvar/fechar o editor, a mensagem do commit será alterada.

Pessoalmente, prefiro fazer a maioria das coisas na linha de comando, o que você pode fazer adicionando um argumento e uma mensagem ao comando acima:

$ git commit --amend -m "Added a new file"

Fazer isso dessa maneira não abrirá o editor, mas apenas modificará a mensagem de confirmação imediatamente.

Corrigir o último commit, enviado para remoto

Este é outro caso comum, e é um pouco mais difícil de corrigir, não apenas porque precisamos modificar nosso próprio repositório, mas também precisamos modificar o repositório remoto, que pode estar mais à frente do que seu branch local.

O primeiro passo é alterar o último commit, assim como fizemos na seção anterior:

$ git commit --amend -m "Added a new file"

Em seguida, você precisa enviar essas alterações para o repositório remoto. No entanto, isso deve ser feito usando o --force bandeira.

$ git push <remote> <branch> --force

Precisamos fazer desta forma para sobrescrever o repositório remoto com nosso próprio estado local.

Esteja ciente de que, ao forçar o empurrão, você também perder quaisquer commits no branch local que você ainda não tenha em seu branch local. Prossiga com cuidado!

Confira nosso guia prático e prático para aprender Git, com práticas recomendadas, padrões aceitos pelo setor e folha de dicas incluída. Pare de pesquisar comandos Git no Google e realmente aprender -lo!

Se você conseguir detectar o erro com rapidez suficiente, fazer a alteração não será um problema. Caso contrário, talvez seja necessário encontrar outra solução para evitar a perda de quaisquer alterações feitas após a mensagem de confirmação que você deseja alterar.

Usar rebase interativo

Outra opção, mais flexível que as soluções anteriores descritas, é usar um rebase interativo. Isso permite que você inspecione os últimos N commits e faça alterações neles, incluindo picking, squashing, etc.

Para iniciar o rebase, você pode usar o seguinte comando:

$ git rebase -i HEAD~n

Aqui, n é o número de commits que você deseja inspecionar e editar. Você verá uma lista de commits, semelhante a esta:

$ $ git rebase -i HEAD~4
pick 788ebf0 Oops, I forgot to add a new file
pick ced1329 Fixed a super critical bug
pick 5e9cdc5 Added a new file



















Como você pode ver, todos os últimos N commits estão listados e você pode modificar suas mensagens conforme necessário.

Carimbo de hora:

Mais de Abuso de pilha