Lubię git log
na przykład włączyć pager , ale nie git diff
dlatego, ż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 log
na przykład włączyć pager , ale nie git diff
dlatego, ż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.diff
zmienną konfiguracyjną, aby wyłączyć pager dla określonych podkomend. Zobacz pager.<cmd>
w git-config (1) .
git config --global pager.diff false
Pomiń, --global
jeś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.