set meld as an external diff tool, it is the Old way, which is no longer preferred First you will need to create a simple wrapper script for meld $ cat ~/bin/git-meld #!/usr/bin/bash exec Meld "$2" "$5" Please don't forget to add the directory containes Meld.exe to your PATH environment variable. if you are using a real Linux system instead of MSYS2, you will normally need to change Meld to meld and /usr/bin/bash to /bin/bash After that, run git config --global diff.external git-meld. Ok, you have done. Every time you run git diff, meld will be called. In case you want to temporarily disable the behaviour, run git diff --no-ext-diff Normally it is enough for your daily diff job. However, there is also another approach that you can always keep the default text diff behaviour for git diff while you use git difftool for a gui diff. Another way / Preferred way Regarding this approach, don't set the diff.external config, so we will not change the default diff behaviour run the following config instructions:git config --global diff.tool meld git config --global difftool.prompt false If you want a normal text diff, run git diff as usual. If you want a GUI diff, run git difftool instead. PS. Based on my experience, the second way is more comfortable, so it is the preferred way.
Permanent link to “git diff/difftool”