Как получить каталог git branch diff с помощью kdiff

Я настроил kDiff3 с моим мерзавцем.

Что мне нужно, это увидеть разницу в каталогах между двумя ветвями. когда я бегу

git difftool <headbranch>

Команда открывает все файлы по одному. Но это не я хочу.

4 ответа

git-difftool(1) теперь удовлетворяет этому варианту использования. Просто используйте ключ --dir-diff (или -d):

-d
--dir-diff
  Copy the modified files to a temporary location and perform
  a directory diff on them. This mode never prompts before
  launching the diff tool.

Так, например:

git difftool -d --tool=kdiff3 10c25f0da62929cca0b559095a313679e4c9800e..980de1bbe1f42c327ed3c9d70ac2ff0f3c2ed4e1

Смотрите также https://www.kernel.org/pub/software/scm/git/docs/git-difftool.html

Допустим, у нас есть две ветви master и base. Чтобы увидеть разницу между этими ветками, просто выполните:

git difftool -d base:src/ master:src/

Тогда ваш предустановленный diff должен начать работу, в моем случае kdiff3. Или вы также можете использовать --tool возможность начать еще один: например, с vimdiff

git difftool -d --tool=vimdiff  base:src/ master:src/

или с kdiff3 таким же образом

git difftool -d --tool=kdiff3  base:src/ master:src/

Вы могли бы использовать

git diff --name-status <other-branch>

В нем перечислены файлы с различиями, имеющие статус A/M/D.

Я не нашел возможности увидеть разницу между двумя ветками в режиме сравнения каталогов, используя kdiff3 и стандартные инструменты git.

Что можно сделать с помощью стандартных инструментов (поправьте меня, если я ошибаюсь:), сравнение файлов по файлам с помощью difftool и обзор в консоли с помощью:

git diff --name-status <other-branch>

Но я нашел всеобъемлющий графический скрипт Git Diff Viewer, который сделал для меня работу по желанию - сравнить весь каталог в kdiff3.

Инструмент - это всего лишь сценарий оболочки, который создает снимки для сравнения ветвей в папке /tmp и запускает на них сравнение папок kdiff3.

Оформить заказ здесь

Другие вопросы по тегам