Die Git-Windows-Eingabeaufforderung bleibt bei Git-Befehlen mit (END) hängen
Lesezeit: 4 Minuten
Ich habe Git für Windows eingerichtet (msysgit) und es hat in den letzten Tagen gut funktioniert, und heute bin ich auf einen seltsamen Fehler gestoßen.
Beim Ausgeben eines Git-Befehls in der Windows-Eingabeaufforderung oder in Git Bash, das mit msysgit gebündelt ist, wird eine seltsame „(END)“-Zeile angezeigt, und dann kann ich keine anderen Befehle ausführen.
An diesem Punkt bekomme ich nur Systemtöne.
Irgendwelche Ideen?
Danke P.
Julien Roncaglia
Git möchte Ihnen mehr als einen Bildschirm mit Informationen anzeigen, um dies zu tun, ruft es das Standard-Unix-Pager-Programm auf less. Tipp einfach q um zur Eingabeaufforderung zurückzukehren, wenn Sie nicht mehr in der Ausgabe navigieren möchten.
j eine Zeile nach unten verschieben
k eine Zeile nach oben verschieben
eine Seite nach unten verschieben
b eine Seite nach oben verschieben
h Hilfe zeigen
Wenn Sie Git effizient nutzen möchten, sollten Sie die grundlegenden Unix-Tools lernen. Selbst wenn git unter Windows erstellt und ausgeführt wird, ist es auf der Plattform so ziemlich eine fremde Software.
Wenn Sie nicht wollen less Ersetzen Sie ihn einfach durch einen anderen Pager in der Konfiguration. Wenn Sie überhaupt keinen Pager wollen, verwenden Sie einfach cat :
git config --global --add core.pager cat
+1 Zum Austauschen less mit cat. Nicht, dass ich das jemals tun möchte!
– Geschicklichkeitsdrick
13. Oktober 2010 um 19:06 Uhr
Könntest du auch verwenden more Anstatt von less.
– dave1010
13. Mai 2011 um 15:43 Uhr
und manchmal less ist more 🙂
– Robbie
7. Juni 2012 um 19:17 Uhr
Nur für den Fall, dass es jemanden interessiert, dringend end auf Ihrer Tastatur bringt Sie zum Ende der Liste.
– Hexikel
20. August 2013 um 5:47 Uhr
Drücken Sie q um die zu verlassen Pager (welches ist less standardmäßig in git).
Ist es möglich, Git daran zu hindern?
– Büroklammer
13. Oktober 2010 um 12:48 Uhr
@paperclip Warum solltest du das wollen? Sehr bald müssen Sie die Ergebnisse durchblättern – erst jetzt, wenn Sie anfangen, erhalten Sie nur eine Seite. Gewöhnen Sie sich einfach an das Drücken q.
– Geschicklichkeitsdrick
13. Oktober 2010 um 13:06 Uhr
@Skilldrick Es ist nicht intuitiv (für einen Windows-Befehlszeilenbenutzer), aus dem Pager ausbrechen zu müssen, wenn Sie nicht mehr als eine Seite haben. Wenn ich die Ausgabe auslagern muss, würde ich explizit zu mehr leiten, z. B. git diff | mehr.
– Chris Oldwood
18. November 2013 um 10:37 Uhr
Ich bin zum ersten Mal auf diese Frage gestoßen, als ich nach der gleichen Sache gesucht habe; um den log-Befehl nicht verlassen zu müssen. Seitdem habe ich die Antwort gefunden, die mir gefällt, und obwohl sie weit nach der ursprünglichen Frage liegt, werde ich diese Antwort hinzufügen, um eine zusätzliche Lösung bereitzustellen, die ich bei meiner eigenen Suche nicht schnell gefunden habe.
Andere haben angegeben, warum die (END) vorhanden ist – die Ergebnisse werden durch einen Pager geleitet, der für einen anderen Pager konfiguriert werden kann.
Manchmal möchte ich jedoch gar nicht, dass es aufhört; weil ich andere Optionen angegeben habe, die die Begrenzung vornehmen. Das habe ich dafür gefunden git hat eine globale Option--no-pager um den Pager auszuschalten, der in der Konfigurationsdatei definiert ist.
Diese globale Option befindet sich auf der git Befehl selbst, ist für alle Unterbefehle verfügbar und wird wie folgt vor den Unterbefehl gesetzt:
git --no-pager log
Git verwendet den aufgerufenen “Pager”. less, mit dem Sie problemlos durch große Mengen an Programmausgaben blättern können. Die Standardeinstellungen auf Git für Windows scheinen jedoch zu sein Halten Sie den Pager in Betrieb, auch wenn weniger als ein Ausgabebildschirm angezeigt wird.
Hier ist die Standardeinstellung, die ich vorher hatte, die immer die anzeigen würde (END) und warte darauf, dass du zuschlägst q bevor Sie zu Ihrer Eingabeaufforderung zurückkehren:
$ git config --get core.pager
less -+F
Sie können das Verhalten damit ändern less läuft nur weiter (und übernimmt die Kontrolle über die Tastatur), wenn mehr als ein Bildschirm voll ausgegeben wird, indem Sie die Option auf ändern -F Anstatt von -+F.
Reparieren Sie den lästigen Pager mit
$ git config --global core.pager "less -F"
(Das -+X Optionssyntax für weniger ist dokumentiert, um die zurückzusetzen -X Option auf “Standard”, obwohl dies nicht das Verhalten ist, bei dem ich beobachtet habe -+F da das Entfernen der Option insgesamt gleichbedeutend war -Fnicht -+F.)
12996000cookie-checkDie Git-Windows-Eingabeaufforderung bleibt bei Git-Befehlen mit (END) hängenyes