Buttons840 Buttons840 -4 years ago 131
Git Question

How can I view the output of `git show` in a diff viewer like meld, kdiff3, etc

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

I want to see the output of
git show <previous commit sha1>
in a diff viewer like meld. How can I do this?

Answer Source

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:

  1. Create a file called git-showtool somewhere on your $PATH with the following contents:

    git difftool $1~1 $1
  2. Give that file execute permissions:

    chmod +x ~/path/to/git-showtool
  3. Use the command git showtool <sha1 or tag or ...>

  4. Profit.
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download