2014-02-20 10 views
11

Wenn ich git diff auf meiner OSX-Befehlszeile ausführen, wird die Ausgabe innerhalb einer less oder vim Schnittstelle angezeigt. Über die Benutzeroberfläche kann ich nach oben und unten scrollen und den Schlüssel q beenden.Git diff: Ausgabe schreiben und beenden statt interaktiven Modus

Das ist sehr ärgerlich, vor allem, wenn es kein Diff gibt und git einen leeren Bildschirm öffnet.

Kann ich einfach die diff (Farbe) auf dem Bildschirm ausgeben, ohne in den interaktiven Modus zu gelangen?

+3

Mögliche duplizieren [Wie verhindere ich git diff von einem Pager ?] (http://stackoverflow.com/q/2183900) –

+1

Entschuldigung, es ist in der Tat ein Duplikat. Vielen Dank! –

+1

Mögliches Duplikat von [Wie verhindere ich, dass git diff einen Pager verwendet?] (Http://stackoverflow.com/questions/2183900/how-do-i-prevent-git-diff-from-using-a-pager) –

Antwort

12

Sie können auch verwenden:

git diff --exit-code 
+0

+1 Gibt es eine Möglichkeit, dies als Standardverhalten für 'git diff' zu konfigurieren? –

+0

nicht sicher, aber Sie können einen Alias ​​einrichten –

4

Ja. Verwendung:

git diff --color | cat 

Die --color notwendig ist, da standardmäßig git nicht ausgegeben Farben, wenn stdout kein tty ist (mit Farbunterstützung).

+0

+1 Danke. Ich werde das wahrscheinlich als Alias ​​bezeichnen. –

1

ich dies mit 'diff' in einigen Makefiles verwenden und 'grep':

GIT_PAGER= git diff