2010-09-29 12 views
220

Duplicar posibles:
How to search through all commits in the repository?¿Cómo buscar en los mensajes de confirmación usando la línea de comando?

¿Hay una manera de buscar a través de commit cabeceras de la línea de comandos?

+5

Esto no es realmente un duplicado, la otra pregunta se refiere colgando compromete, mientras que ** éste no lo hace **. Votando para reabrir – sashoalm

+0

Ah. Pero este es un duplicado de [este] (http://stackoverflow.com/questions/7124914/how-to-search-a-git-repository-by-commit-message). Si bien esta es la pregunta anterior, la más nueva tiene mejores respuestas. Desearía poder revocar mi voto para reabrir. – cfi

Respuesta

314
git log --grep=<pattern> 
    Limit the commits output to ones with log message that matches the 
    specified pattern (regular expression). 

- git help log

+3

Creo que esta respuesta es parcialmente incorrecta, porque la opción '--grep' busca todo el mensaje de confirmación, en lugar de solo el encabezado. La respuesta de @czchen es más correcta, en este caso. – pedromanoel

+10

excepto por el hecho de que la respuesta de czchen requiere el uso de una utilidad grep externa –

+0

Gracias, esto me ayudó mucho, antes de eso usé ack-grep. –

160
git log --oneline | grep PATTERN 
+11

¡Esta debería ser la respuesta aceptada! – pedromanoel

+13

¿No se comprometerá este error con el PATRÓN en las líneas del mensaje de compromiso que no sea el primero? – tutuDajuju

+12

requiere grep para estar disponible, es decir, esta es una solución específica de linux/git bash (a menos que haya instalado grep en Windows) –

Cuestiones relacionadas