Ich habe Git für Windows installiert und bin im Allgemeinen zufrieden mit dem Feature-Set in der Bash-Shell, die es bietet. Ich habe Probleme mit einem Alias, der überall funktioniert, wo ich es auch versucht habe.Git für Windows Bash Shell 'less' Befehl zeigt Müll an, während formatierten Text von Git Protokoll Anruf
Die Alias:
alias gl='git log --graph --format='\''%Cred%h%Creset %s %C(yellow)%an | %C(cyan)%ad%Creset %C(green bold)%d%Creset'\''' | less
In Cygwin, der MacOS bash-Terminal, und natürlich auch in einem Linux-Shell produziert die Alias schöne Ergebnisse.
In GFW der Bash-Shell ist der Ausgang ziemlich verstümmelt:
Wenn ich den Befehl direkt, ohne Alias laufen, funktioniert es richtig. Ich weiß also, dass die Bash-Shell von GFW nicht weiß, wie man den Befehl analysiert, wie ich es geschrieben habe.
Meine Frage: Wie bekomme ich diesen Alias unter Git For Windows ordnungsgemäß funktioniert?
Ich bin offen für die Verwendung einer Alternative zu einem Alias. Wenn eine Linux-Funktion oder ein echter Git-Alias besser funktioniert, bin ich mit diesen Alternativen vertraut. Es wäre schön, herauszufinden, warum das so ist.
AKTUALISIEREN/ENTDECKEN Das Problem scheint nicht bei der Interpretation des Alias überhaupt zu sein. Die Ausgabe wird korrekt angezeigt, wenn ich die Pipe zu 'less' entferne. Es sieht also so aus, als ob der Befehl "less", wie er in der Git Bash Shell implementiert ist, die Escape-Sequenzen anders interpretiert (wörtlich genommen) als andere Implementierungen. Als Ergebnis wird kein Umfang des Einwickelns des Anrufs in Funktionen oder dergleichen das Kernproblem angehen.
was ist die Ausgabe von 'alias ls'? – smarber
Alias ls = 'ls -F --color = auto --show-control-Zeichen' –