Lorsque je lance git branch
(depuis bash ou csh), il dirige automatiquement la sortie less
. Cependant, avec seulement quelques branches dans le référentiel, cela n'est pas nécessaire, c'est ennuyeux, car la liste des branches disparaît une fois que je quitte moins.
La vérification du ~/.gitconfig
fichier et des .git/config
fichiers locaux ne trouve rien sur un téléavertisseur ou autre chose qui pourrait provoquer cela. Sinon, rien de ce que j'ai trouvé dans les recherches sur le Web n'a été utile ou prometteur.
Pourquoi cela se produit-il, et que puis-je faire (le cas échéant) pour faire less
courir en cas de besoin (par exemple, quand on fait un git log
quand il y a beaucoup d'histoire) mais pas autrement (comme un git branch
avec seulement 2 ou 3 branches)?
export LESS=-X
le fichier.profile
. Cela évite moins de "nettoyer" l'écran. Je déteste que le réglage standard efface l'écran car j'ai souvent besoin de couper et coller des trucs ou de l'utiliser comme référence.Réponses:
Vous pouvez définir les éléments suivants:
Cela garantira que la
less
volontéF
)R
)Hacher les longues lignes (S
)X
)Edit: Suppression de l'
S
option basée sur le commentaire de Peter A. Scheiderla source
--global
si vous souhaitez qu'il s'applique uniquement au référentiel actuel.LESS
sur-FR
, ajouter X et S au goût est une autre façon.export PAGER='less -FRSX'
et que git l'honorerait (en l'absence d'une configuration git spécifique). Btw,-S
est dangereux car il rejette silencieusement la sortie.Il y a ici d'excellentes réponses pour
less
le comportement de tuning , mais comme mes doigts à la barbe grise sont habitués à taper|more
quand je le veux, et comme je suis toujours plus en phase avec mercurial qu'avec git, je suis passionné parla source
git-config
indique que la valeur decore.pager
est destinée à être interprétée par le shell. Lorsque vous le définissez surno
, il essaie d'exécuter la commandeno
, qui n'existe probablement pas, puis il revient simplement à la sortie du contenu. Vous verrez toujours un message d'erreur en tête. Ce que vous voulez probablement faire, c'est le régler à lacat
place.cat
est inutile, et je ne fais pas particulièrement confiance aux mainteneurs Linux pour ne pas changer ce que fait cat (cf. lals
débâcle des fichiers cités ). Peut-être devrais-je plutôt utiliser "ne jamais". Il est moins probable qu'un tel programme existe.core.pager
de la chaîne vide (git config core.pager ''
) ou de necat
lancera rien du tout. Vous pouvez le faire vous-même si vous ne me croyez pas ;-) Il n'y a aucune raison de le régler sur une commande factice comme .no
cat
, dites-vous que git a un cas particulier pour cette chaîne dans le code du pager - c'est-à-dire qu'ilcat
s'agit effectivement d'un synonyme de "null"? Je m'attendrais à ce qu'il s'exécutecat
.