lab 19 Enmendar Commits (--amend)
Metas
- Aprender a enmendar un Commit existente
Cambie el programa, luego haga Commit 01
Agregue un comentario con el nombre del autor.
Archivo: hello.rb
# Default is World # Author: Jim Weirich name = ARGV.first || "World" puts "Hello, #{name}!"
Ejecute:
git add hello.rb git commit -m "Add an author comment"
Oops, debimos poner también el Email 02
Después de hacer el Commit, se dió cuenta que debió incluir el correo electrónico. Actualice el programa hello para incluirlo
Archivo: hello.rb
# Default is World # Author: Jim Weirich (jim@somewhere.com) name = ARGV.first || "World" puts "Hello, #{name}!"
Enmiende el anterior Commit 03
Realmente no queremos un Commit por separado sólo para el email. Vamos a enmendar el anterior Commit para incluir el cambio con la introducción del correo electrónico.
Ejecute:
git add hello.rb git commit --amend -m "Add an author/email comment"
Salida:
$ git add hello.rb $ git commit --amend -m "Add an author/email comment" [master 9c78ad8] Add an author/email comment 1 files changed, 2 insertions(+), 1 deletions(-)
Revise el Historial 04
Ejecute:
git hist
Salida:
$ git hist * 9c78ad8 2012-03-06 | Add an author/email comment (HEAD, master) [Jim Weirich] * 4054321 2012-03-06 | Added a comment (v1) [Jim Weirich] * 1b754e9 2012-03-06 | Added a default value (v1-beta) [Jim Weirich] * 3053491 2012-03-06 | Using ARGV [Jim Weirich] * 3cbf83b 2012-03-06 | First Commit [Jim Weirich]
Podemos ver que Commit original con sólo el autor ha desaparecido, y es remplazado con el Commit de “autor/email”. Puede alcanzar el mismo efecto reestableciendo el branch al Commit anterior y reenviando el Commit con los nuevos cambios.