DEV Community

ダニエリ for WoMakersCode

Posted on • Edited on

38 2 1

[Tutorial Git] git amend: Corrigindo o último commit

Mensagem de commit errada

Para corrigir um commit usamos o comando



$ git commit --amend -m 'mensagem de correção aqui'


Enter fullscreen mode Exit fullscreen mode

ou



$ git commit -m 'mensagem de correção aqui' --amend


Enter fullscreen mode Exit fullscreen mode

Exemplo:

Vamos supor que adicionei dois arquivos com os seguintes commits:



$ git add index.html estilo.css
$ git commit -m 'adicionando arquivo html e css'


Enter fullscreen mode Exit fullscreen mode
  • $ indica que você deve usar o usuário comum para fazer essa operação.
  • add para adicionar arquivos ao index.
  • commit é quem vai levar os arquivos do index para o repositório git.
  • -m indica que você irá escrever uma mensagem para registrar o commit.
  • ' ' a mensagem vem entre aspas simples ou duplas.

E em seguida, adiciono mais outro, mas com o commit errado:



$ git add script.js
$ git commit -m 'script python'


Enter fullscreen mode Exit fullscreen mode

Como é possível constatar, escrevi errado o commit desse arquivo.

Antes de consertá-lo, vamos dar uma olhada nos commit feitos até agora:



$ git log


Enter fullscreen mode Exit fullscreen mode

verificando as chaves dos commits feitos

Perceba que cada um tem sua própria chave (a sequência de caracteres com letras e números ao lado da palavra commit).

Vamos modificar o último commit com o seguinte comando:



$ git commit --amend -m 'adicionando script js'


Enter fullscreen mode Exit fullscreen mode

Agora, vamos usar utilizar o comando git log para ver novamente os commits:

commit corrigido

Observe que a chave do nosso último commit é diferente da anterior (antes da correção).

Para entender melhor o que aconteceu, vamos usar o comando git reflog

registro reflog

Com ele podemos verificar o nosso commit errado e a sua correção.

No fluxo do git, temos:

fluxo do git mostrando commit amend

Arquivo esquecido

Outro problema que pode ocorrer, e que também é resolvido com o comando --amend, é de adicionar arquivos ao repositório, dar commit, mas ter faltado um arquivo que você queria que fizesse parte desse commit.

Exemplo:

esquecendo de adicionar um arquivo

No exemplo acima, esquecemos de adicionar o arquivo playstation.html.

Usando o comando git log, temos:

log de commits antes da correção

Fazendo a correção:

usando amend para inserir arquivo esquecido

Usando git log novamente:

log de commits após a correção da adição de arquivos

Pequenas alterações no arquivo

Caso você tenha acabado de fazer um commit, mas precisou fazer uma pequena alteração no arquivo logo em seguida, então digite:



$ git add <nome_do_arquivo>


Enter fullscreen mode Exit fullscreen mode
  • digite o nome do arquivo sem os sinais < >.

Para colocar as alterações no index e em seguida:



$ git commit --amend --no-edit


Enter fullscreen mode Exit fullscreen mode

Agora seu último commit contém a alteração do arquivo.

Atenção: não usar esse comando com commits que já foram enviados para o repositório remoto.

Do your career a big favor. Join DEV. (The website you're on right now)

It takes one minute, it's free, and is worth it for your career.

Get started

Community matters

Top comments (2)

Collapse
 
guilhermesoares009 profile image
Guilherme Soares Sousa Silva

boa, salvou!

Collapse
 
kian182 profile image
Kevin Ruiz Vargas

Excellent tutorial! Thank you!

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay