Reputation: 9749
I know that the latest git can use this command to directory diff two versions:
git difftool -d <sha1> <sha1>
But I can't find any git clients(GUI) which can do this job.
I've tried
tortoisegit
smartgit
git-cola
git-extentions
github
gitk
None of them has this feature, could anyone recommend any git client(runs on windows xp) which can do this?
I don't know if sourcetree
can do this or not, cause I don't have either win7 or mac.
Thanks.
Upvotes: 3
Views: 1403
Reputation: 14865
in tortoise git:
Upvotes: 1
Reputation: 17443
In SmartGit/Hg you can configure external file compare tools: go to Edit|Preferences and configure them at Tools - File Comparators.
You can diff two commits from within the Log: just select both of them in the Graph view (Control-click on Windows) and you will see all changes in the Files view. Here you can investigate individual files with your external compare tool simply by double-clicking.
Upvotes: 0
Reputation: 70693
Simply use gitk. Right click on a commit -> mark this commit
. Right click on another commit -> diff this -> marked commit
.
Upvotes: 0
Reputation: 44377
The standard windows git client, msysgit, can do this if you configure it to use Beyond Compare 3 (not free) as diff tool.
You can set it up like this:
git config --global diff.tool bc3
git config --global difftool.bc3.cmd "\"c:/Program Files/Beyond Compare 3/BCompare.exe\" \"$LOCAL\" \"$REMOTE\""
git config --global difftool.prompt false
Edit: Actually kdiff3 does this too, and is free. Setup here:
[diff]
tool = kdiff3
[merge]
tool = kdiff3
[mergetool "kdiff3"]
path = C:/YourPathToBinaryHere/KDiff3/kdiff3.exe
keepBackup = false
trustExitCode = false
[difftool "kdiff3"]
path = C:/YourPathToBinaryHere/KDiff3/kdiff3.exe
keepBackup = false
trustExitCode = false
Upvotes: 1