Git busca una cadena en el historial de un solo archivo

Resuelto JD Isaacks asked hace 12 años • 5 respuestas

Entonces, si tengo un archivo llamado foo.rb y me da un error por un método faltante llamado bar , quiero buscar en el historial de foo.rb la cadena barpara ver si alguna vez se definió en el pasado.

Encontré esto ¿ Buscar una cadena en todo el historial de Git?

Pero esto busca en todos los archivos. Sólo quiero buscar en un archivo.

JD Isaacks avatar Apr 19 '12 01:04 JD Isaacks
Aceptado

Para ello, puede utilizar la opción -S para git log:

git log -S'bar' -- foo.rb
rtn avatar Apr 18 '2012 18:04 rtn

O tal vez puedas probar este (de preguntas relacionadas Buscar cadenas en todo el historial de git )

git rev-list --all foo.rb | (
    while read revision; do
        git grep -F 'bar' $revision foo.rb
    done
)

En realidad, buscará el contenido del archivo y no enviará mensajes/parches ante cualquier aparición de barra.

Antoine Pelisse avatar Apr 19 '2012 07:04 Antoine Pelisse

Usé git log -S "string" --follow -p "path of file"que muestra el historial completo de todos los cambios con esa cadena.

stack questions avatar Apr 29 '2020 11:04 stack questions

Como lo mencionó @Jakub Narębski, prefiero realizar una búsqueda con expresiones regulares de diferencias que contengan 'barra'

git log -G'bar' -- foo.rb
Mustapha-Belkacim avatar Mar 14 '2022 09:03 Mustapha-Belkacim