Ich verwende msysgit 1.7.7.1 unter Windows. Bei der Verwendung wird eine Fehlermeldung angezeigt git diff
. Was verursacht das? Ist in msysgit kein Diff-Tool enthalten? Was soll ich machen?
WARNUNG: Das Terminal ist nicht voll funktionsfähig
Ich verwende msysgit 1.7.7.1 unter Windows. Bei der Verwendung wird eine Fehlermeldung angezeigt git diff
. Was verursacht das? Ist in msysgit kein Diff-Tool enthalten? Was soll ich machen?
WARNUNG: Das Terminal ist nicht voll funktionsfähig
Antworten:
Für Git Bash kann dies behoben werden, indem die folgende Zeile zu ~ / .bashrc hinzugefügt wird:
export TERM=cygwin
-oder-
export TERM=msys
Das erste scheint das Original von Git für Windows zu sein, das zweite eine beliebte bekannte Form, um ebenfalls zu "heilen".
Das Problem kann verursacht werden, wenn ein anderes Programm (wie z. B. Strawberry Perl ) die TERM
Systemumgebungsvariablen festlegt .
setx TERM msys
. SETX
(im Gegensatz zu nur SET) schreibt die env-Variable in die Registrierung.
Wenn Sie beispielsweise Probleme mit cmd.exe haben, lesen Sie die Warnung hier:
Stellen Sie dann einfach Ihre Umgebungsvariablen ein und geben Sie TERM = msys an. Danach wird Ihre Variable jedes Mal, wenn Sie eine cmd.exe öffnen, korrekt festgelegt.
JETZT MÜSSEN SIE IHRE SHELL (CMD.EXE) NEU STARTEN. Führen Sie einfach einen neuen aus. Und von dort sollten Sie keine Probleme mehr haben. Nochmal:
Die obigen Antworten haben bei mir nicht vollständig funktioniert, also habe ich Folgendes getan: Hinzufügen
export TERM=msys
zu " [githome] / etc / profile " oben, aber es wurden nur Änderungen für git bash vorgenommen. Dann habe ich hinzugefügt
@set TERM=msys
zu " [githome] /cmd/git.cmd " nach @setlocal (ich habe nur git installiert, das über die Befehlszeile ausgeführt wird). Vielleicht ist diese Entscheidung nicht wirklich gut, aber sie funktioniert für mich und es gibt keine Terminalwarnungen. (Ich benutze Git Version 1.7.10.msysgit.1).
Die Antwort finden Sie hier , in der der Autor der Lösung behauptet, dass:
Die Umgebungsvariable
TERM
wurde auf gesetztdumb
das war statt
TERM=cygwin
Sie können das in ändern
TERM=msys
das vorliegende Problem zu lösen.
Ich arbeite in Powershell und habe die ausführbare Git-Datei direkt auf meinem Weg.
Keine der vorgeschlagenen Antworten hat funktioniert, aber ich habe eine Lösung gefunden, die für mich funktioniert.
Ich habe meinem Powershell-Profil eine Zeile hinzugefügt:
$env:TERM="msys"
Was das Problem für mich behoben hat.
In meinem Fall stellte sich heraus, dass eine schnelle und schmutzige Lösung darin bestand, die --no-pager
Option zu verwenden.
Standardmäßig verwenden einige Git-Befehle (wie log
) einen Pager, less
wenn sie erwarten, dass die Ausgabe lang ist. Pager erfordern beispielsweise das Scrollen von Text mit den Pfeiltasten nach oben und unten, was manchmal nicht funktioniert, wenn die Annahmen darüber, auf welcher Art von Terminal Sie sich befinden, falsch sind (dies bedeutet "nicht voll funktionsfähig").
Wenn Sie im Voraus wissen, dass Ihre Ausgabe kurz sein wird, oder wenn Sie nur möchten, dass die Ausgabe an das Terminal ausgegeben wird und das Scrollen Ihrem Terminalprogramm überlassen bleibt, können Sie dies überschreiben und überhaupt keinen Pager verwenden, z.
git --no-pager log
Falls jemand diese Start-Bash von Git Extensions erhält, überprüfen Sie die Einstellung für Path to linux tools...
. Meins war eingestellt auf C:\cygwin
. Ändern Sie es, um C:\Program Files (x86)\Git\bin\
es für mich zu beheben. Ich musste die TERM-Variable nicht festlegen, um Bash auf diese Weise zu starten.