问题
>>git difftool branch1 branch2
opens my difftool (Beyond Compare:BC) with every file that has a diff between the branches.
I have to close BC after each file just for it to reopen with the next file.
BC can diff whole directories and multiple files.
Is there a way to get git difftool
to open all files simultaneously, or diff the whole tree simultaneously?
回答1:
Starting with git v1.7.11, you can use git difftool --dir-diff to perform a directory diff.
The answer that follows applies to git installations older than v1.7.11.
This issue is not related to BC, but to the way git works. Fortunately, there is a solution at this URL - git-diffall
回答2:
I used these commands to set Beyond Compare 4 (despite the bc3 you see in them) as the diff / merge tools:
git config --global diff.tool bc3
git config --global difftool.bc3.path "C:/Program Files/Beyond Compare 4/bcomp.exe"
git config --global merge.tool bc3
git config --global mergetool.bc3.path "C:/Program Files/Beyond Compare 4/bcomp.exe"
Then I compared two branches like this, where "oldbranchname" and "newbranchname" are the names of the two branches I wanted to compare.
git difftool -d --tool=bc3 oldbranchname newbranchname
I get the folder view as if I compared two folders with beyond compare. The only thing of note is that it will not show identical files in the comparison, but that has not bothered me.
来源:https://stackoverflow.com/questions/3365933/getting-beyond-compare-to-diff-2-branches-simultaneously