Git encuentra línea # de cambio

Git encuentra línea # de cambio

Quiero saber cuándo fue la última vez que se eliminó una propiedad CSS específica en la fuente de mi rama actual (maestra). Escribí:

git log -Smystring --source

Me dio un hash. Encendí gitk y pegué el hash y me dio una lista enorme de archivos, así que sospecho que eran solo finales de línea. Sin embargo, busqué la cadena en gitk y no puedo encontrarla. ¿Tal vez esto significa que fue eliminado pero - ...mystring...de todos modos no debería mostrarse gitk?

¿Cómo encuentro la línea/archivo en el que se encuentra mi cadena? Veo los últimos hashes usando el comando anterior pero no tengo idea de cómo identificarlos.

Respuesta1

Algo como

git bisect start
git bisect bad AFTER
git bisect good BEFORE
git bisect run grep -v LINE FILE

donde ANTES y DESPUÉS son confirmaciones que contienen y no contienen (respectivamente) la LÍNEA en cuestión. Esto debería encontrar la última confirmación entre ANTES y DESPUÉS en la que ARCHIVO contiene LÍNEA.

Una vez que sepas qué compromiso buscar, puedes usar

git grep -n LINE COMMIT:FILE

para ubicar la LÍNEA y su número de línea en la versión apropiada de ARCHIVO.

información relacionada