git log -{n}
, cuando -n
es lo suficientemente pequeño, no se abre less
, simplemente lo imprime en la pantalla. Eso es deseable. git log -1
No debería ocupar la pantalla completa.
Desafortunadamente, en el shell bash de MINGW, después de ejecutar un comando que no es git, se git log
comporta como si lo hubiera ejecutado less
y empujado q
. (en otras palabras, los datos se imprimen en la parte inferior de la pantalla y termino con una pila de espacios en blanco en la parte superior).
Demo imaginaria (por favor, perdona su duración):
>> clear
>> git log -1
commit 123123...
Author: CPfohl
Date: {today}
{Message}
>> git log -1
commit 123123...
Author: CPfohl
Date: {today}
{Message}
Esto funciona sin importar qué comando git ejecute antes git log
, siempre que git log -{n}
sea después de un comando git.
¿Es esto un error o hay una manera de hacer que esto se comporte normalmente?
-n
opción?pager.alias_name = less ...
. Pero no sé si el alias se puede usar como comando en la opción de configuración mencionada.O también podría definir un alias en su archivo de configuración de git que le permita mostrar el registro de una manera especial, si ingresa los siguientes comandos, por ejemplo, configura .gitconfig para editarlo con Sublime Text 3:
Además, puede agregar un alias en git para mostrarle las últimas confirmaciones en todas las ramas de un repositorio:
Agregue [alias] si falta en .gitconfig, luego:
El alias aquí usa una función de shell con un parámetro establecido en una variable de shell. Si no especifica un valor de parámetro, el alias usará 11 como valor predeterminado (la sintaxis podría interpretarse fácilmente con -11, pero la sintaxis $ {1: -11} significa el primer parámetro en el shell y establecer un valor predeterminado valor para el parámetro si falta. Un poco como los valores predeterminados en C # o los parámetros predeterminados en Powershell.
Como puede ver, el alias que le damos a git puede contener múltiples comandos, separados por un punto y coma.
Probé esto ejecutando git latest y git latest 3 en la captura de pantalla de salida de muestra a continuación. Ves mi edición de mi configuración de git a la izquierda.
Con las funciones de shell y los alias podemos hacer mucho más con Git sin tener que escribir mucho. La sintaxis de las funciones de shell sigue las reglas de BASH y se puede usar también en un entorno Windows con CMD.
fuente