Git Pager – zawijanie wierszy w diff,log etc…

3

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:).

Share.

About Author

Programista, trener, prelegent, pasjonat, blogger. Autor podcasta programistycznego: DevTalk.pl. Jeden z liderów Białostockiej Grupy .NET i współorganizator konferencji Programistok. Od 2008 Microsoft MVP w kategorii .NET. Więcej informacji znajdziesz na stronie O autorze. Napisz do mnie ze strony Kontakt. Dodatkowo: Twitter, Facebook, YouTube.

3 Comments

  1. Można też używać strzałek do nawigacji (lewo – prawo).
    Ja osobiście nie lubię zawijania wierszy :)

  2. O dzięki, rozwiązałeś mój problem. Używam poshgit-a i wkurzało złe formatowanie log-a np. mam taki alias:

    [alias]
    lol = log –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset’

    W PS niby ucina linię +/- na szerokość konsoli, ale skleja ją z następną. Teraz już wiem co za to odpowiada (chyba nieśmiertelny problem z CRLF) i przełączyłem się na zawijanie – tak jest o niebo lepiej.