How can I view the output of `git show` in a diff viewer like meld, kdiff3, etc
diff, dvcs, git, version-control
Solution
You can use `git difftool` to show a single commit.
Say you want to see the commit with the sha1 `abc123`:
git difftool abc123~1 abc123
(`~1` tells git to move to the previous commit, so `abc123~1` is the commit before `abc123`)
If you use this regularly, you could make a custom git command to make it easier:
Create a file called `git-showtool` somewhere on your `$PATH` with the following contents:
git difftool $1~1 $1
Give that file execute permissions:
chmod +x ~/path/to/git-showtool
Use the command `git showtool <sha1 or tag or ...>`
- Profit.
Problem
There are many SO questions that show how to view the output of a `git diff` command in a diff viewer like meld using `git difftool` or otherwise. I am not asking about `git diff` though. I want to see the output of `git show <previous commit sha1>` in a diff viewer like meld. How can I do this?