Buscar una cadena específica en el historial de confirmaciones de Git
Este artículo describe los diferentes métodos que usamos para buscar en el historial de Git una cadena específica.
Hojear los mensajes de confirmación en su historial no siempre es suficiente. A veces, desea saber qué confirmaciones se vieron afectadas por una variable o cadena específica.
Podemos agregar algunos argumentos al comando git log
para buscar una cadena, y Git nos dará las confirmaciones que agregan o eliminan la cadena del historial de nuestro repositorio. Esta característica simplifica la comprensión del contexto de confirmación para una pieza de código en particular.
Buscar una cadena específica en el historial de confirmaciones de Git
En nuestro primer escenario, queremos buscar todas las confirmaciones donde el mensaje de confirmación tenga la palabra Actualizar
. ¿Cómo hacemos esto?
Ejecutaremos el comando git log
como se muestra a continuación.
$ git log --grep=Update
Producción:
Como se ve en el resultado anterior, Git nos dio solo las confirmaciones con la palabra Actualizar
.
Digamos que queríamos buscar confirmaciones donde la cadena "php"
se haya agregado o eliminado en los archivos. ¿Cómo lo hacemos?
Podemos ejecutar el comando git log
con el indicador -S
como se muestra a continuación:
$ git log -S "php"
Producción:
Para obtener una diferencia de esto, ejecutaremos el siguiente comando:
$ git log -S "php" -p | grep "php" -C5
Si tiene muchas confirmaciones con la cadena, es mejor usar una herramienta de diferencias. Puede confundirse porque Git le dará una salida gruesa.
También podemos usar el comando git log
con el argumento -G
para buscar diferencias donde las líneas agregadas o eliminadas coincidan con "php"
como se muestra a continuación;
$ git log -G "php"
Nota:
-G
acepta una expresión regular mientras que-S
acepta cadenas.- El argumento
-S
encontrará las confirmaciones donde cambia la palabra mientras que-G
busca la palabra en la diferencia.
Podemos agregar argumentos al comando git log
para manipular la salida. Discutimos cómo podría buscar cadenas en nuestro historial de confirmaciones usando escenarios comunes.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn