Lubię git logna przykład włączyć pager , ale nie git diffdlatego, że mam własne narzędzie do wizualnego porównywania i nie cierpię konieczności naciskania „q” w linii poleceń po zakończeniu diff. Czy jest na to sposób?
Lubię git logna przykład włączyć pager , ale nie git diffdlatego, że mam własne narzędzie do wizualnego porównywania i nie cierpię konieczności naciskania „q” w linii poleceń po zakończeniu diff. Czy jest na to sposób?
Odpowiedzi:
Można ustawić pager.diffzmienną konfiguracyjną, aby wyłączyć pager dla określonych podkomend. Zobacz pager.<cmd>w git-config (1) .
git config --global pager.diff false
Pomiń, --globaljeśli chcesz zmienić tę konfigurację tylko dla bieżącego repozytorium.
git -c pager.diff=false log ....
Nie jest to świetne rozwiązanie, ale możesz mieć git wrapper, który określa, jakie polecenie uruchamiasz, i przesyła dane wyjściowe przez cat, aby wyeliminować wykrywanie terminala.
#!/bin/sh
case "$1" in)
diff) git "$@" | cat;;
*) exec git "$@";;
esac
Oczywiście mój przykładowy program to całkowicie braindead. Będziesz musiał pominąć opcje zamiast na stałe „1 $” w programie.