Как выполнить трехстороннюю визуальную разницу на git?
Я хотел бы сделать трехсторонний diff одного файла, который существует в двух разных ветвях, т.е. последний фиксатор в каждой ветки, а также рассмотреть общий предок.
Я хочу использовать внешний инструмент, который позволяет делать трехстороннее сравнение.
Я рассматривал возможность использования git diffftool, но, насколько я мог видеть, он позволяет сравнивать только 2 версии данного файла.
Я мог бы использовать mergetool, но это заставило меня запустить сначала git merge, чтобы были установлены BASE, REMOTE и LOCAL. Я не хочу запускать git merge. Я просто хочу сначала выполнить трехсторонний diff, чтобы увидеть изменения, сделанные в файле в обеих ветвях, учитывая его общий предок.
Есть ли возможность делать то, что мне нужно, используя diffftool или mergetool?
Благодаря
Ответы
Ответ 1
Одним из решений является визуальный diffuse, который может непосредственно работать с версиями git и поддерживает n-образные представления.
Например, вы можете открыть трехсторонний diff между различными ветвями для файла:
diffuse -r master -r HEAD -r upstream file.txt