With svn and Cornerstone this is trivial, but I can't seem to find a way to do it with Git or sourcetree (Atlassians excellent visual git tool for mac sourcetreeapp).

I need to compare two commits on the same branch that are several versions apart. Cornerstone lets me pick any version or tag and compare against my working directory but I can't seem to find a way to get sourcetree, or with git diff and filemerge (opendiff) to do this.

E.g. 

```
working dir HEAD
change three
change two
change one Tag: works

```

I need to compare `HEAD` and `works` but I can't seem to find a way to do this. I can't even check out a file from `works` like I can in SVN, it wants to pull the whole repository at that version and wipe out my working directory. If I could get the files side by side I could run opendiff or another tool.

What am I missing?