Как получить каталог 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.
Оформить заказ здесь