Получение одновременного сравнения с Diff 2-ветвями одновременно

>>git difftool branch1 branch2 открывает мой diffftool (Beyond Compare: BC) с каждым файлом, который имеет разницу между ветвями. Мне нужно закрыть BC после каждого файла, чтобы он снова открывался со следующим файлом.

BC может различать целые каталоги и несколько файлов.

Есть ли способ получить git difftool, чтобы открыть все файлы одновременно или разделить все дерево одновременно?

Ответ 1

Начиная с git v1.7.11, вы можете использовать git difftool --dir-diff для выполнения разницы в каталоге.

Следующий ответ относится к установкам git старше, чем v1.7.11.


Эта проблема не связана с BC, а с тем, как работает git. К счастью, есть решение по этому URL-адресу - git-diffall

Ответ 2

Я использовал эти команды, чтобы установить Beyond Compare 4 (несмотря на то, что вы видите в них bc3) в качестве инструментов diff/merge:

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"

Затем я сравнил две ветки вроде этого, где "oldbranchname" и "newbranchname" - это имена двух ветвей, которые я хотел сравнить.

git difftool -d --tool = bc3 oldbranchname newbranchname

Я получаю представление папки, как если бы я сравнивал две папки без сравнения. Единственное, что нужно отметить, это не показывать идентичные файлы в сравнении, но это меня не беспокоило.