17. Mudando commits

Metas

  • Aprender como modificar um commit já existente.

01 Mude a página e faça um commit

Coloque um comentário de autor na página.

Arquivo: hello.html

<!-- Author: Alexander Shvets -->
<html>
  <head>
  </head>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

Execute

git add hello.html
git commit -m "Added copyright statement"
git log

Resultado

$ git add hello.html
$ git commit -m "Added copyright statement"
[main e641c0e] Added copyright statement
 1 file changed, 1 insertion(+)
$ git log
e641c0e 2023-11-28 | Added copyright statement (HEAD -> main) [Alexander Shvets]
b7614c1 2023-11-28 | Added HTML header (tag: v1) [Alexander Shvets]
46afaff 2023-11-28 | Added standard HTML page tags (tag: v1-beta) [Alexander Shvets]
78433de 2023-11-28 | Added h1 tag [Alexander Shvets]
5836970 2023-11-28 | Initial commit [Alexander Shvets]

02 Oops... precisa do email

Depois de fazer o commit, você percebe que todo bom comentário deveria incluir o email do autor. Edite a página hello.html para fornecer um email.

Arquivo: hello.html

<!-- Author: Alexander Shvets (alex@githowto.com) -->
<html>
  <head>
  </head>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

03 Mude o commit anterior

Nós não queremos criar outro commit apenas para o email. Vamos mudar o commit anterior e adicionar o endereço de email.

Execute

git add hello.html
git commit --amend -m "Added copyright statement with email"

Resultado

$ git add hello.html
$ git commit --amend -m "Added copyright statement with email"
[main 9288a33] Added copyright statement with email
 Date: Tue Nov 28 05:51:38 2023 -0600
 1 file changed, 1 insertion(+)

04 Olhar o histórico

Execute

git log

Resultado

$ git log
9288a33 2023-11-28 | Added copyright statement with email (HEAD -> main) [Alexander Shvets]
b7614c1 2023-11-28 | Added HTML header (tag: v1) [Alexander Shvets]
46afaff 2023-11-28 | Added standard HTML page tags (tag: v1-beta) [Alexander Shvets]
78433de 2023-11-28 | Added h1 tag [Alexander Shvets]
5836970 2023-11-28 | Initial commit [Alexander Shvets]

O novo commit "author/email" substitui o commit original "author". O mesmo pode ser obtido usando o comando reset no branch e fazendo novamente o commit com as mudanças.