This question How to compare files from two different branches? deals with the issue of comparing the same file in different branches, but several answers are given and all of them appear to have some caveat.
These are the ways presented:
1- git difftool mybranch master -- myfile.cs
(several people complain about this not working for them; it did in my case)
2- git difftool branch1:file branch2:file
(a comment says "Using the colons is not really a great way")
3- git difftool branch1 branch2 path/to/file
Which one is the recommended way?