Warum öffnet "git difftool" das Tool nicht direkt?

157

Ich habe so konfiguriert git:

git config --global diff.tool meld

Wenn ich renne:

git difftool

Ich erhalte die folgende Nachricht:

Viewing: 'hello.txt'
Hit return to launch 'meld': 

Wenn ich dann drücke Enter, meldwird gestartet.

Wie kann ich diese Nachricht deaktivieren, damit meldsie sofort nach der Eingabe gestartet wird git difftool?

Mischa Moroshko
quelle
Siehe auch: stackoverflow.com/questions/1220309/…
Mechanische Schnecke
4
Ich denke auch eine berechtigte Frage ist: Warum ist standardmäßig eine zusätzliche Genehmigung erforderlich?
Radek Postołowicz

Antworten:

64
man git-difftool

OPTIONS
   -y, --no-prompt
       Do not prompt before launching a diff tool.
Bill Door
quelle
19
Die Antwort von @ZJR scheint die bevorzugte Antwort der meisten Menschen (einschließlich mir) zu sein.
Jono
1
Siehe ZJRs Antwort (im Falle einer Änderung des Benutzernamens): stackoverflow.com/questions/7897517/…
Peter Mortensen
bessere Antwort unten.
m1m1k
378

Es gibt auch eine Option:

difftool.prompt
  Prompt before each invocation of the diff tool.

Der folgende Befehl deaktiviert die Eingabeaufforderung global (für alle Repos):

git config --global difftool.prompt false

Das ist wie das Schreiben in ~/.gitconfig:
(oder in %HOMEDRIVE%%HOMEPATH%\.gitconfig)

[difftool]
  prompt = false
ZJR
quelle
16
Dies ist die richtige Lösung. Die Antwort kennzeichnet eine Lösung, speichert keine Tastendrücke. Vielen Dank.
sweisgerber.dev
2
@sebweisgerber Ich habe die markierte Antwort nur umschrieben und herausgefunden, wie man sie dauerhaft macht. Ich hätte die Option sonst wahrscheinlich nicht gefunden.
ZJR
1
Dies ist eine bessere Antwort, da der Fall als Standardaktion behandelt wird, sodass der Fragenschreiber git-difftool weiterhin wie gewünscht verwenden kann.
Neil Monroe
Eigentlich ist die --addOption hier falsch platziert. Es bedeutet, die Einstellung "prompt = false" zu den bereits vorhandenen Einträgen von "promt" hinzuzufügen, während das Ziel darin besteht, den aktuellen Wert zu ersetzen oder ihn zunächst hinzuzufügen. Dieses Verhalten wird ohne erreicht --add.
user905686
17
propmt = falseStellen Sie sicher, dass Sie nicht versehentlich in den Abschnitt [difftool "toolname"] `setzen. Es funktioniert nicht. Es sollte unter [difftool]Abschnitt sein.
Fosna