Cuando ejecuto git branch
(desde bash o csh), canaliza automáticamente la salida less
. Sin embargo, con solo unas pocas ramas en el repositorio, esto es más que innecesario, es molesto, ya que la lista de ramas desaparece una vez que dejo de fumar.
Comprobar el ~/.gitconfig
archivo y los .git/config
archivos locales no encuentra nada sobre un localizador o cualquier otra cosa que pueda causar esto. De lo contrario, nada de lo que he encontrado en las búsquedas web ha sido útil o prometedor.
¿Por qué sucede esto, y qué (si hay algo) que puedo hacer para less
correr cuando sea necesario (por ejemplo, cuando hago un git log
cuando hay mucha historia) pero no de otra manera (como un git branch
con solo 2 o 3 ramas)?
export LESS=-X
en el.profile
. Esto evita que se "limpie" la pantalla. Me odio a entender que la fijación de normas borra la pantalla porque a menudo la necesidad de cortar y pegar material o utilizarlo como una referencia.Respuestas:
Puede configurar lo siguiente:
Esto asegurará que
less
la voluntadF
)R
)Cortar líneas largas (S
)X
)Editar: se eliminó la
S
opción basada en el comentario de Peter A. Scheiderfuente
--global
si desea que solo se aplique al repositorio actual.LESS
en-FR
, agregar X y S al gusto es otra forma.export PAGER='less -FRSX'
y git lo honraría (en ausencia de una configuración específica de git). Por cierto,-S
es peligroso porque descarta silenciosamente la salida.Aquí hay algunas respuestas excelentes para
less
el comportamiento de afinación , pero dado que mis dedos de barba gris están acostumbrados a escribir|more
cuando lo quiero, y dado que todavía estoy más en sintonía con mercurial que con git, estoy interesado enfuente
git-config
indica que el valor decore.pager
está destinado a ser interpretado por el shell. Cuando lo configurano
, intenta ejecutar el comandono
, que probablemente no existe, luego recurre simplemente a la salida del contenido. Aún verá un mensaje de error en la cabeza. Lo que probablemente quieras hacer es configurarlo en sucat
lugar.cat
es inútil, y no confío particularmente en que los mantenedores de utilidades de Linux no cambien lo que hace cat (véase lals
debacle de los archivos citados ). Tal vez debería usar "no nunca" en su lugar. Es menos probable que dicho programa exista.core.pager
a la cadena vacía (git config core.pager ''
) ocat
se no ejecutar nada en absoluto. Puede resolverlo usted mismo si no me cree ;-) No hay ninguna razón para configurarlo como un comando ficticio comono
.cat
, ¿está diciendo que git tiene un caso especial para esa cadena en el código del buscapersonas, es decir, quecat
es efectivamente un sinónimo de "nulo"? Esperaría que se ejecutecat
.