Dlaczego „git difftool” nie otwiera narzędzia bezpośrednio?

157

Skonfigurowałem gittak:

git config --global diff.tool meld

Kiedy biegam:

git difftool

Otrzymuję następujący komunikat:

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

Następnie, jeśli naciśnę Enter, melduruchomi się.

Jak mogę wyłączyć tę wiadomość, aby meldzostała uruchomiona od razu po wpisaniu git difftool?

Misha Moroshko
źródło
Zobacz też: stackoverflow.com/questions/1220309/…
Ślimak mechaniczny
4
Myślę, że ważne jest również pytanie: dlaczego domyślnie potrzebne jest dodatkowe zatwierdzenie?
Radek Postołowicz

Odpowiedzi:

64
man git-difftool

OPTIONS
   -y, --no-prompt
       Do not prompt before launching a diff tool.
Bill Door
źródło
20
Odpowiedź @ZJR wydaje się być preferowaną odpowiedzią większości ludzi (w tym mnie).
Jono
1
Odniesienie do odpowiedzi ZJR (w przypadku zmiany nazwy użytkownika): stackoverflow.com/questions/7897517/ ...
Peter Mortensen
lepsza odpowiedź poniżej.
m1m1k
@ m1m1k Lepszy komentarz powyżej :-)
Duncan Jones
379

Jest też opcja:

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

Następujące polecenie wyłącza monit globalnie (dla wszystkich repozytoriów):

git config --global difftool.prompt false

Co jest jak pisanie w ~/.gitconfig:
(lub in %HOMEDRIVE%%HOMEPATH%\.gitconfig)

[difftool]
  prompt = false
ZJR
źródło
16
To jest właściwe rozwiązanie. Odpowiedź oznaczała rozwiązanie, nie zapisuje żadnych naciśnięć klawiszy. Wielkie dzięki.
sweisgerber.dev
2
@sebweisgerber Właśnie sparafrazowałem zaznaczoną odpowiedź i odkryłem, jak ją utrwalić. W przeciwnym razie prawdopodobnie nie znalazłbym takiej opcji.
ZJR
1
Jest to lepsza odpowiedź, ponieważ będzie traktować sprawę jako domyślną akcję, która pozwoli piszącemu pytanie kontynuować używanie git-difftool według własnego uznania.
Neil Monroe
Właściwie ta --addopcja jest tutaj niewłaściwie umieszczona. Oznacza to dodanie ustawienia „prompt = false” do wszelkich wpisów „promt”, które już się tam znajdują, podczas gdy celem jest zastąpienie bieżącej wartości lub dodanie jej w pierwszej kolejności. To zachowanie osiąga się bez --add.
user905686
17
Upewnij się, że nie umieściłeś przypadkowo w propmt = falsesekcji [difftool "nazwa narzędzia"] `. To nie działa. Powinien znajdować się w [difftool]sekcji.
Fosna