¿Cómo incluyo –no-pager en un alias de Git?

2 minutos de lectura

Avatar de usuario de Ian
ian

Creé un alias de Git basado en el Inmersión Git tutorial de EdgeCase que se ve así:

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

Pero ahora parece estar paginando los resultados: la terminal muestra (END) después de que se muestran los resultados, obligándome a pulsar q para seguir trabajando. Lo leí agregando en el --no-pager etiqueta, puede deshabilitar esta característica; ¿Cómo lo incorporo al alias? Lo he intentado al final, antes del log, y justo después, y ninguno de ellos ha funcionado. Git arroja un error que dice que es un argumento no reconocido o que cambia las variables de entorno. ¿Algún consejo?

  • Sin embargo, realmente no quieres hacer esto. Una vez que llegue a usar un proyecto git con un historial considerable, el registro será muy largo.

    – Asmeurer

    10 de julio de 2013 a las 4:20

Avatar de usuario de Cascabel
cascabel

Puede hacerlo fácilmente con solo convertirlo en un comando de shell:

hist = "!git --no-pager log ..."

  • Perdón por el título, mi error. ¡Gracias por la ayuda!

    – Ian

    23 de febrero de 2011 a las 3:11

Nota: con Git 2.18 (Q2 2018), el alias puede usar una opción más corta para --no-pager:
git --no-pager cmd” no tenía la opción de una sola letra corta y dulce. Ahora la tiene.

El alias ahora puede ser:

hist = "!git -P log ..."

Ver cometer 7213c28 (03 de mayo de 2018) por johannes sixt (j6t).
(Combinado por Junio ​​C Hamano — gitster en cometer c9aac5523 de mayo de 2018)

git: agregar -P como una opción corta para --no-pager

Es posible configurar ‘less‘, el buscapersonas, para usar una pantalla alternativa para mostrar el contenido, por ejemplo, configurando LESS=RS en el ambiente.
Cuando se cierra en esta configuración, vuelve a la pantalla original y todo el contenido desaparece.

No es raro solicitar que la salida permanezca visible en el terminal. Para ello, la opción --no-pager puede ser usado.
Pero es un poco engorroso de escribir, incluso cuando está disponible la finalización de comandos.
Proporcione una opción corta, -Ppara que la opción sea más accesible.

  • en guiones preferiría escribirlo para que sea más fácil de comprender. Al usarlo en la CLI, por supuesto, sigue siendo útil.

    – xeruf

    3 de junio de 2020 a las 13:35

  • @Xerus Estoy de acuerdo: no para script, sí para CLI.

    – VoC

    3 de junio de 2020 a las 13:37

Avatar de usuario de Vivek Karimbil
vivek karimbil

La opción –no-pager da una unrecognized option error cuando se usa después logpero funcionó poniendo –no-pager antes de log – “git –no-pager log …. ” funcionó

  • la solución parcial es buena: con este enfoque, git no usa un buscapersonas para el comando dado. Sin embargo, termina prematuramente con otros dos mensajes… #1 – error: advertencia: se omitió la detección exhaustiva de cambio de nombre debido a demasiados archivos. #2 – advertencia: es posible que desee establecer su variable diff.renameLimit en al menos 3072 y volver a intentar el comando.

    – Kay V

    6 ene a las 19:16

¿Ha sido útil esta solución?