practices - git tag remove
¿Cómo saber en qué comisión se ha añadido un código particular? (4)
Ejecutar git blame
en el archivo. Le mostrará el ID de compromiso, la fecha y la hora, y quién lo cometió, para cada línea. Luego simplemente copie el identificador de confirmación y puede usarlo en git log <commit>
o git show <commit>
.
Por ejemplo, tengo un archivo, llamado test.txt, con líneas agregadas en diferentes confirmaciones:
$ cat test.txt
First line.
Second line.
Corriendo la git blame
:
$ git blame test.txt
^410c3dd (Leigh 2013-11-09 12:00:00 1) First line.
2365eb7d (Leigh 2013-11-09 12:00:10 2) Second line.
El primer bit es el ID de confirmación, luego el nombre, la fecha, la hora, la zona horaria y, finalmente, el número de línea y el contenido de la línea.
Quiero saber en qué confirmación agregué el código que se indica a continuación:
if (getListView().getChildCount() == 0)
getActivity().findViewById(android.R.id.empty).setVisibility(View.VISIBLE);
¿Cómo logro esto?
Hay algo más rápido que culpar al archivo completo. Si la línea es ${lineno}
y el archivo es ${filename}
, puede:
git blame -L ${lineno},${lineno} ${filename}
Ejemplo:
git blame -L 2,2 test.txt
git log -S "menciona aquí la línea de código" [ruta de archivo]
Por ejemplo, git log -S "First line" test.txt
Proporcionar nombre de archivo con ruta es obvio porque la mayoría de las veces, queremos saber quién introdujo un segmento de código en particular en un archivo en particular.
git log -S searchTerm
le da las confirmaciones en las que se introdujo el término de búsqueda.