shengy
shengy

Reputation: 9749

git client which can do a directory diff

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

Answers (4)

wutzebaer
wutzebaer

Reputation: 14865

in tortoise git:

  • open "git log"
  • mark two commits
  • rightclick
  • compare these revisions

Upvotes: 1

mstrap
mstrap

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

Chronial
Chronial

Reputation: 70693

Simply use gitk. Right click on a commit -> mark this commit. Right click on another commit -> diff this -> marked commit.

Upvotes: 0

Klas Mellbourn
Klas Mellbourn

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

Related Questions