Wie bringe ich den Git-Pager dazu, die Bildschirmausgabe nach dem Beenden zu bereinigen?

30

Der Pager weniger löscht nicht den Bildschirm, wie es tun sollte, wenn ich Git benutze.

Ich benutze die ganze Zeit weniger und es hinterlässt normalerweise keine Ausgabe im Terminal, aber wenn weniger über git ausgeführt wird, hinterlässt es die Ausgabe im Terminal. Ich bin mir zu 100% sicher, dass Git auf meinem System weniger verwendet.

Was ist los mit git und wie behebe ich es? pager = lessin ~ / .gitconfig hilft nicht. $ PAGER ist ebenfalls auf weniger gesetzt.

ggustafsson
quelle
Zur Verdeutlichung löscht Git den Bildschirm nicht standardmäßig , es ist nichts falsch mit Ihrem Git. Verwenden Sie die Antwort von @ ggustafsson, um das Standardverhalten zu ändern.
LeartS

Antworten:

32

Die Lösung besteht darin, die Variable LESS einzustellen. Git ist standardmäßig less FRSX.

export LESS=R

Alternativ können Sie die Variable LESS ändern, wenn der Pager aufgerufen wird:

git config --global core.pager 'less -+$LESS -R'

Siehe den Abschnitt core.pager in man git-config

ggustafsson
quelle
3
Es reicht aus, nur die X-Option zu entfernen. Die Option verhindert die Wiederherstellung des Terminals gemäß dem Handbuch von less (1).
Xuchunyang
11

Sie können dies tun, um den Bildschirm zu löschen, andere Verhaltensweisen jedoch unberührt zu lassen

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

Dies deaktiviert die -XOption für weniger.

Dan
quelle
1
Sie sollten auch das 'F'-Flag deaktivieren, da less automatisch geschlossen wird, wenn der Puffer klein ist, was Sie zu der Annahme führt, dass keine Ausgabe erfolgt. So sollte der Befehl sein git config --global core.pager 'less -+X -+F'.
Steve