De forma predeterminada, git diff
imprime todas las +-
líneas en la salida estándar, sin embargo, tengo una máquina (devian) (que conecto a través de ssh) donde git diff
me lleva a un editor (que no sé cuál es) y necesito presionar qpara continuar.
Tengo el comprobador de configuración de git y se ve así:
$ git config --list
user.name=XXX
user.email=XXX@XXX
color.ui=false
difftool.prompt=false
mergetool.prompt=false
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=XXX
branch.master.remote=origin
branch.master.merge=refs/heads/master
$ git config --global --list
user.name=XXX
user.email=XXX@XXX
color.ui=false
difftool.prompt=false
mergetool.prompt=false
$ git config --system --list
'/etc/gitconfig': No such file or directory
¿Hay un lugar que me falta? ¿Quizás la herramienta desconocida es una alternativa o algo porque a mi máquina le falta algo? Se agradece cualquier ayuda. Gracias.
Respuestas:
De forma predeterminada, Git envía su salida de diferencias (y generalmente cualquier salida que pueda ser más de una pantalla completa) al buscapersonas del sistema , que es una utilidad que imprime solo una pantalla completa de salida a la vez. Si desea deshabilitar el buscapersonas cuando ejecuta un comando, pase
--no-pager
a Git:Esto se puede ejecutar para cualquier comando de Git.
Si desea deshabilitarlo de forma predeterminada solo para diff , puede configurar el paginador de diff
cat
ejecutando:Si desea deshabilitarlo de forma predeterminada para todos los comandos , puede configurar el localizador de Git en
cat
ejecutando:fuente
git config --global core.pager cat
¡lo hizo!. Gracias :)git
( no al subcomando)?git branch
, por ejemplogit config pager.branch false
El seguimiento
core.pager
valor utilizaless
, que se imprime en la salida estándar, y también tiene la función de buscapersonas (si es necesario), lo que permite desplazarse hacia arriba y hacia abajo (a diferencia decat
):Se cierra inmediatamente si el diff encaja en la primera pantalla (
-F
), genera caracteres de control sin procesar (-R
), corta líneas largas en lugar de ajustar (-S
) y no usa termcap init / deinit strings (-X
).fuente
También puede usarlo simplemente
cat
para cualquiergit
comando si no le importan los colores.Así que
git diff | cat
para tu caso.Editar: como se señaló en los comentarios, si le importan los colores, use:
git diff --color | cat
fuente
git diff --color | cat
(: