Запустите diff инструмент из Git GUI

Я изучаю с помощью программного обеспечения Git GUI по умолчанию в комплекте с Git.

В окне неустановленных изменений я хотел бы выбрать файл и затем запустить его во внешнем бок о бок инструменте сравнения, таком как kdiff.

Я не могу понять, как это сделать. Можно ли сделать это?

Спасибо

2 ответа

Решение

К сожалению, git gui, по-видимому, не предоставляет эту опцию в окне по умолчанию, где вы смотрите на неустановленные изменения, где diff - это строка за строкой. Для этого существует специальная отдельная команда, которая называется git difftool,

Поскольку, похоже, нет ответа на ваш вопрос, альтернативное решение, которое я бы предложил, - показать параллельный diff с внешним инструментом (например, meld или же kdiff3 или введите git difftool --tool-help для более) из командной строки, как следует:

git difftool --tool=meld [optional_filename]

Я рекомендую комбинацию, так как она кажется мне самой понятной.

Вы можете добиться этого с помощью следующего (я использую Windows, для MAC должно быть что-то похожее):

  1. сконфигурируйте ваш git для использования утилиты diff, например kdiff3, если вы настроили его правильно, то после того, как вы откроете CMD и cd в свою папку git и запустите git difftool -y "путь к измененному файлу", KDiff3 откроет окно сравнения. Если это работает, продолжайте
  2. Теперь вы можете добавить собственный инструмент в Git Gui с помощью имени файла diff и команды git difftool -y "$FILENAME", или вы можете редактировать напрямую ваш глобальный файл конфигурации git

% USERPROFILE%.gitconfig

и добавить в конце

[guitool "diff file"]
    cmd = git difftool -y \"$FILENAME\"
    noconsole = yes
    needsfile = yes

после этого в вашем Git Gui вы увидите в меню "Инструменты" файл сравнения, и когда вы щелкнете по нему, появится KDiff3 (это будет difftool по умолчанию для git) с различиями в файлах.

Используя тот же подход, вы можете редактировать выбранный элемент из Git Gui - для этого добавить в разделе глобальной конфигурации

[guitool "file Edit"]
    cmd = \"C:\\Program Files (x86)\\Notepad++\\notepad++.exe\" \"$FILENAME\"
    noconsole = yes
    needsfile = yes
Другие вопросы по тегам