Warum wird ein interaktiver Befehl (git add -i) sofort beendet?

Warum wird ein interaktiver Befehl (git add -i) sofort beendet?

Ich habe „git add interactive“ schon einmal verwendet – nette kleine ASCII-GUI.

Als ich heute ausführte git add -i, druckte es den gesamten erwarteten Dialog und beendete sich dann sofort. (Screenshot unten, Bash im Gnome-Terminal.)

Wenn ich ein neues Terminal öffne und ausführe git add -i, funktioniert es einwandfrei.

Die Frage ist also vielleicht wirklich:in welchem ​​Zustand ist diese Shell? Kann sie korrigiert werden?

Git fügt sofort interaktive Exits hinzu

Antwort1

Es scheint, als wäre Ihre Umgebung irgendwie durcheinander geraten. Einfachster Ausweg: Öffnen Sie ein neues Fenster (wo es funktioniert) und schließen Sie einfach das durcheinander geratene.

Vergleichen Sie im Detektivmodus die Umgebungsvariablen, die Git möglicherweise verwendet (einschließlich PATH, EDITOR, PAGER). Die meisten Git-Befehle sind externe ausführbare Dateien, die von einem kleinen Wrapper ausgeführt werden. Sehen Sie, was in beiden Fällen aufgerufen wird (z. B. mit strace). Sehen Sie, was passiert, wenn Sie das Arbeitspferd allein ausführen. Suchen Sie nach einem „extra ausführlichen/debugging“-Flag.

Die Git-Leute schreiben einige der Skriptbefehle als C-Programme um oder spielen mit anderen experimentellen Funktionen herum. Überprüfen Sie, ob Sie eine Konfiguration festgelegt haben (in .git/config, über Umgebungsvariable, für Ihr Konto, global), die möglicherweise nicht so ausgereifte Alternativen auswählt.

verwandte Informationen