881 Stimmen

Wie kann ich verhindern, dass "git diff" einen Pager verwendet?

Gibt es einen Befehlszeilenschalter, der an git diff und andere Befehle, die die less Pager standardmäßig? Ich weiß, dass es diese Methoden gibt:

  • git diff | cat ... entfernt die gesamte Syntaxhervorhebung
  • git config --global core.pager cat setzt den Pager in der globalen .gitconfig auf cat
  • export GIT_PAGER=cat

Aber ich würde einen Befehlszeilenschalter vorziehen.

8voto

sekmo Punkte 1309

Ich habe diesen Brocken in meinem .gitconfig und es scheint gut zu funktionieren (sowohl für diff als auch für show deaktiviert):

[pager]
    diff = false
    show = false

5voto

slow-rain Punkte 61

Wenn Sie die oh-my-zsh verwenden, in der ~/.oh-my-zsh/lib/misc.zsh Datei, kommentieren Sie diese Zeile aus:

env_default 'LESS' '-R'

5voto

patrik Punkte 4394

Git verwendet standardmäßig less als Pager. Normalerweise bevorzuge ich more, da es die erste Seite ausdruckt und man dann durch den Inhalt blättern kann.

Außerdem verbleibt der Inhalt in der Konsole, wenn er fertig ist. Dies ist in der Regel praktisch, da man oft etwas mit dem Inhalt nach dem Nachschlagen machen möchte (z.B. dem Commiter eine E-Mail schicken und ihm sagen, dass er in seinem letzten Commit einen Fehler eingeführt hat).

Wenn Sie dann Inhalte weiterleiten wollen, wäre es umständlich, zu blättern und alles auszudrucken. Das Gute an "more" ist, dass man es mit der Pipeline kombinieren kann und so alles durchleiten kann, z. B.

# Find the commit abcdef123 in the full commit history and read author and commit message
git log |grep -C 5 'abcdef123'

Mehr ist im Grunde nicht nötig, es sei denn, Sie möchten nicht, dass der Inhalt in der Konsole verbleibt, wenn Sie fertig sind. Um stattdessen more zu verwenden, gehen Sie wie unten beschrieben vor.

git config --global core.pager 'more'

4voto

Jaredcheeda Punkte 1165

Für Windows ist dies der Fall:

git config --global core.pager ""

Damit wird das Paging für alles in git einschließlich der super nervigen in git branch .

4voto

Nitish Punkte 845

Folgen Sie einfach den nachstehenden Anweisungen.

  1. Tippen Sie einfach vi ~/.gitconfig in Ihrem Terminal.
  2. Kleister LESS="-F -X $LESS" Linie.
  3. Presse :wq und eingeben.
  4. Starten Sie Ihr Terminal neu.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X