web-dev-qa-db-fra.com

Pourquoi moins est exécuté inutilement par git?

Quand je lance git branch (depuis bash ou csh), il dirige automatiquement la sortie via 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.

Vérification ~/.gitconfig fichier et le fichier local .git/config files ne trouve rien sur un pageur ou toute 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 que less s'exécute en cas de besoin (par exemple, lorsque vous effectuez un git log quand il y a beaucoup d'histoire) mais pas autrement (comme un git branch avec seulement 2 ou 3 branches)?

24
GreenMatt

Vous pouvez définir les éléments suivants:

git config --global core.pager 'less -FRX'

Cela garantira que less sera

  • Quittez si le fichier entier peut être affiché sur le premier écran (F)
  • Afficher les caractères de contrôle bruts pour le formatage du terminal (R)
  • Hacher les longues lignes (S)
  • N'envoyez pas les chaînes init/de-init au terminal - évite d'effacer l'écran à la sortie (X)

Edit: Suppression de l'option S basée sur le commentaire de Peter A. Scheider

37
QIS

Il existe d'excellentes réponses ici pour régler le comportement de less, 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, j'aime

git config --global core.pager cat
4
dgc