[GIT] Conocer quién ha modificado cierta línea de código

En el proyecto de desarrollo web en el que participo con mis alumnos me ha tocado, entre otras cosas, crear y validar la ejecución de las distintas tareas de programación que se realizan.

Como mis alumnos (cariñosamente mis “becarios”) comienzan con muy poca soltura (cuando llegan a ser productivos se me van de la “empresa”) es habitual que alguno se cargue el proyecto completo (por modificar lo que no debe) y toque colocarlo en el “Hall of Blame” donde recogemos cuándo y quién subió algo sin probar y perjudicó al resto del grupo 😇

Localizar el autor del estropicio y el commit en el que lo realizó no suele ser complicado salvo cuando varios de ellos (más habitual de lo deseable actualmente) modifican el mismo fichero.

Por fortuna, git cuenta con un comando que nos facilita localizar el autor de cada uno de los cambios realizados en determinada línea de código de nuestro proyecto… aquí dejo cómo hacerlo para “mi yo del futuro” y si, de paso, le resulta de utilidad a alguno de vosotros 😉

Si queremos averiguar quién ha modificado la línea 72 de nuestro fichero controller/Pregunta.php deberemos utilizar el comando blame de GIT del siguiente modo:

git blame -L72,72 controller/Pregunta.php

obteniendo un resultado similar a

localizar autor falloNOTA: en el ejemplo he usado el mismo valor (72) tanto para la línea de inicio como de fin; si nos interesa listar el autor (o autores si han sido varios los que han cambiado dicho bloque de código) puedes utilizar números de inicio y fin distintos. Así con

git blame -L72,77 controller/Pregunta.php

obtendremos los commits y autores de los distintos cambios realizados en el bloque de código indicado

mostrar autores bloque de código

Conclusión

Forma rápida y sencilla de encontrar a quién debemos agradecer determinada funcionalidad (todo no va a ser señalar con el dedo ¿verdad?) y/o pedir que corrija alguna incorrección que se hubiese podido producir.

Y tú…

  • ¿Conocías el comando blame de GIT?
  • ¿Cómo sueles localizar el responsable de determinada funcionalidad?
  • ¿Cuál es el equipo de trabajo más grande en el que has participado?
  • ¿Qué software de control de versiones sueles utilizar?

 

2 comentarios en “[GIT] Conocer quién ha modificado cierta línea de código

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s