El comando Git blame en Git
Lección 25 / 53
Git Guía Git Guía Git español
Para concluir con el elenco de los comando útiles en Git para consultar el estado y la historia de un repository encontramos en comando git blame.
La traducción literal del verbo "to blame" es "inculpar" y, de hecho, este comando git se usa para responder a la pregunta "¿quién ha cambiado esta línea?" Es útil en el caso de que varias personas contribuyan al desarrollo de una codebase.
Veamos un ejemplo:
$ git blame gradle.properties
2a0629fa2 (John Doe 2021-03-04 19:55:36 +0100 1) kotlin.code.style=official
f9fba3a0e (Jane Foo 2021-05-27 14:13:45 +0200 2) ## for local development, set GRADLE_OPTS in pipeline to change
f9fba3a0e (Jane Foo 2021-05-27 14:13:45 +0200 3) org.gradle.caching=true
f9fba3a0e (Jane Foo 2021-05-27 14:13:45 +0200 4) org.gradle.daemon=true
8692fb277 (John Doe 2022-03-08 09:15:06 +0100 5)
77e32fc3b (Jane Doe 2022-11-07 18:45:22 +0100 6) ktor_version=2.1.3
En primer lugar, el comando git blame requiere que se pase al comando el nombre de un file. Se imprimen todas las líneas de este archivo, cada una con el indicado:
- el id del commit que ha cambiado esa línea,
- el respectivo autore del commit
- la fecha del commit
- el número de la línea
- el contenido de la línea
Es posible indicar algunas opciones adicionales para subrayar algunos tipos de cambios (-w para ignorar los espacios, -M para ignorar las líneas que se han movido dentro del archivo y -C para detectar líneas movidas o copiadas de otros archivos).
En general, hay que recordar que:
- git blame y git log se pueden usar para encontrar al autor de un determinado cambio, la elección de uno u otro depende de lo que estés buscando.
git blame solo muestra quién "tocó" por última vez una determinada línea en un archivo, no dice qué cambiaron (por lo que la persona a la que culpa git blame podría no ser la que introdujo un bug)
Anterior
24 El comando Git tag e..Siguiente
26 El comando Git check..