19. 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 "Add an author comment"

02 Oops... precisa do e-mail

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

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 e-mail. Vamos mudar o commit anterior e adicionar o endereço de e-mail.

Execute:

git add hello.html
git commit --amend -m "Add an author/email comment"

Resultado:

$ git add hello.html
$ git commit --amend -m "Add an author/email comment"
[master 6a78635] Add an author/email comment
 1 files changed, 2 insertions(+), 1 deletions(-)

04 Olhar o histórico

Execute:

git hist

Resultado:

$ git hist
* 6a78635 2011-03-09 | Add an author/email comment (HEAD, master) [Alexander Shvets]
* fa3c141 2011-03-09 | Added HTML header (v1) [Alexander Shvets]
* 8c32287 2011-03-09 | Added standard HTML page tags (v1-beta) [Alexander Shvets]
* 43628f7 2011-03-09 | Added h1 tag [Alexander Shvets]
* 911e8c9 2011-03-09 | First 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.