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
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.