问题
I have 2 folders (with different code) with git initialized. But when I do
git difftool -t meld
one repo is working fine and asking me if I want to open files in meld to compare. The other one just output everything in the console and didn't execute meld.
Also both .git/config file is the same (except for the url)
Does anyone know why is that?
回答1:
If in one repository you're in conflicted state (check by git status), you need to use mergetool instead, e.g.
git mergetool -t meld
Related: git difftool runs git diff.
回答2:
You may have configured your diff.tool locally instead of globally (inspect the content of .git/config files in both your porjects, and your global ~/.gitconfig file).
To set meld as your global difftool :
git config --global diff.tool meld
回答3:
Is it possible you have configured difftool, but not mergetool, and had a conflict outstanding?
I found similar behaviour, when I had an existing conflict that needed resolving. I think what happened to me was that git was trying to be 'helpful' and launch mergetool when I asked for difftool. I had not set up any mergetool, only difftool. When I manually resolved the conflict with git add, difftool started working again. Very frustrating.
来源:https://stackoverflow.com/questions/35642530/git-difftool-not-opening-sometimes