¿Por qué tengo que presionar 'Q' al final de 'git log'?


79

Considerar:

git log -n 20 --pretty=oneline

Le estoy diciendo a Git que necesito ver solo las últimas 20 confirmaciones. Odio golpear Qpara deshacerme de END. ¿Hay alguna salida para no tener que golpear Q?

Respuestas:


83

Git automáticamente pagina la salida por usted, ya que los registros tienden a desbordar fácilmente el tamaño de una sola ventana de terminal (se encuentra en una de las raras excepciones: un formato en línea y un pequeño límite de confirmación). Si no quieres esto, usa:

git --no-pager log -n 20 --pretty=oneline

Tenga en cuenta que esto significa que obtendrá un ajuste feo, porque el buscapersonas estaba desactivando el ajuste previamente para usted (ya que podía usar las teclas del cursor para desplazarse de izquierda a derecha).


4
@DeckTrout Sin ninguna información, nadie puede ayudarlo. Si puede ser específico sobre su configuración, puede intentar hacer una nueva pregunta. Esta respuesta funcionó para el OP aquí (y para muchos otros), así que claramente algo es diferente para usted.
Cascabel

1
Añadir l = !git --no-pager log -n 20 --pretty=onelineen .gitconfigcrear un alias ..
saveshodhan

En Git para Windows, esto altera el resaltado de "cometer insert-hash-here" de naranja a amarillo.
Unknow0059

26

Puede "desactivar" la paginación de git diciéndole que use cat en lugar de less. A partir de entonces, canalice la salida a través de menos cuando desee paginación, o diríjase si solo desea ver la parte superior, etc.

git config --global core.pager cat

Apago la paginación automática porque a menudo ejecuto git desde emacs, que ni necesita ni funciona bien con menos.


Mi registro de git no termina con una nueva línea, por lo que el indicador de shell que sigue al registro está en la misma línea que mi confirmación más antigua. No obstante, buen consejo, gracias.
Kenny Rasschaert

13

lessacepta -Fargumentos para salir automáticamente si el contenido cabe en una pantalla


8

git log -n 20 --pretty=oneline | cat

es un poco más corto que la --no-pageropción, pero también eliminará los colores presentes.


8

Si desea usar --no-pagerun alias, configure su alias de esta manera:

hist = !git --no-pager log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short


0

Alias ​​para un comando de registro en el que no tiene que hacer clic qpara que desaparezca:

git config --global alias.hist '!git --no-pager log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short --max-count=10'
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.