Przejdź do treści

DevStyle - Strona Główna
Git Pager – zawijanie wierszy w diff,log etc…

Git Pager – zawijanie wierszy w diff,log etc…

Maciej Aniserowicz

28 marca 2013

Tools

Standardowo komendy wykonywanie w Git Bash “ucinają” długie linie, na przykład:

git diff

clip_image001

Wynika to z tego, że domyślnie tekst jest stronicowany za pomocą “pagera” o nazwie LESS. To dzięki niemu nie jesteśmy zalewani nieograniczoną ilością tekstu, tylko dostajemy możliwość zatrzymania się po jednej stronie i kontynuowania za pomocą spacji.

Dobra wiadomość jest taka, że możemy to kontrolować. Tylko trzeba o tym wiedzieć:). Możemy na przykład całkowicie usunąć stronicowanie dla jakiejś komendy:

git_pager='' git diff

Teraz bash nie zatrzyma się po zapełnieniu strony tylko wszystko zostanie na nas wyrzygane bez przerwy.

Preferuję po prostu dodanie odpowiedniej flagi do domyślnego pagera:

git_pager='less -r' git diff

clip_image002

Teraz nadal po zapełnieniu strony tekst przestanie się lać i będziemy mogli wznowić proces za pomocą spacji, ale przełącznik “-r” włącza “line wrapping”:

Pomocne? Pomocne.

Tak, wiem, że to standardowe operacje bashowe i może nie ma się czym podniecać, ale jak się człowiek czegoś nauczy to i napisać się o tym chce;).

Mały bonus:
Zamiast zwykłego “diff” opalcie “diff –word-diff –color-words”. Zrobi się bardziej przejrzyście:).

Zobacz również