web-dev-qa-db-fra.com

Puis-je faire défiler de nouvelles lignes en utilisant la molette de la souris dans git diff?

J'utilise le terminal par défaut Ubuntu 16.04 (c'est GNOME, je crois?)

Le problème auquel je suis confronté est que lorsque j’utilise la commande git diff pour examiner mes modifications locales, je peux faire défiler vers le haut ou le bas à l’aide de la molette de la souris, mais aucune nouvelle ligne ne s’affiche lorsque j’atteins le bas voir une seule page de modifications). Pour passer aux lignes suivantes, je peux utiliser l’espace ou les flèches haut/bas du clavier, mais puis-je le faire d’une manière ou d’une autre avec la molette de la souris?

BTW Si j'utilise la commande less cela fonctionne comme prévu -> le défilement fait défiler les nouvelles lignes.

11
Todor

Grâce à la réponse de @ edwinksl, j'ai réussi à trouver une solution au problème.

Donc par défaut, git utilise LESS comme pager et je crois que les arguments par défaut sont FRSX.

Sur git 1.8+, vous pouvez supprimer des options avec less -+<option>, dans mon cas, je dois supprimer l'option X pour:

git config --global --replace-all core.pager 'less -+X'

mais comme @ pcworld, cela peut causer des problèmes avec les diffs qui tiennent sur une seule page, ainsi:

git config --global --replace-all core.pager 'less -+FX'

corrigé le problème de défilement pour moi.

19
Todor

De https://stackoverflow.com/a/2183920/486919 , une façon de le faire et de conserver la surbrillance des différences consiste à utiliser git diff sans pageur:

git --no-pager diff
3
edwinksl