Воспроизведение моего ответа из этой ветки , которая более специфична для настройки, чем сравнение в качестве инструмента сравнения для Git.Все детали, которыми я поделился, одинаково полезны для любого инструмента сравнения в общем, поэтому делитесь им здесь:
Первая команда, которую мы запускаем, выглядит следующим образом:
git config --global diff.tool bc3
Вышеприведенная командасоздает нижеприведенную запись в .gitconfig
, найденную в каталоге %userprofile%
:
[diff]
tool = bc3
Затем вы запускаете команду ниже ( Выполнение этой команды избыточно в данном конкретном случае и требуется только в некоторых специализированных случаях.Вскоре вы узнаете это ):
git config --global difftool.bc3.path "c:/program files/beyond compare 3/bcomp.exe"
Приведенная выше команда создает следующую запись в файле .gitconfig
:
[difftool "bc3"]
path = c:/program files/Beyond Compare 3/bcomp.exe
Здесь нужно знать ключbc3
.Это хорошо известный ключ для git, соответствующий определенной версии известных инструментов сравнения, доступных на рынке (bc3
соответствует 3-й версии инструмента Beyond Compare).Если вы хотите увидеть все предопределенные ключи, просто введите команду git difftool --tool-help
в git bash.Возвращается список ниже:
vimdiff
vimdiff2
vimdiff3
araxis
bc
bc3
codecompare
deltawalker
diffmerge
diffuse
ecmerge
emerge
examdiff
gvimdiff
gvimdiff2
gvimdiff3
kdiff3
kompare
meld
opendiff
p4merge
tkdiff
winmerge
xxdiff
Вы можете использовать любую из вышеперечисленных клавиш или определить свой собственный ключ.Если вы хотите полностью настроить новый инструмент (или недавно выпущенную версию известного инструмента), который не соответствует ни одному из перечисленных выше ключей, вы можете сопоставить его с любым из перечисленных выше ключей или с новый ваш собственный ключ.
Что делать, если вам нужно настроить инструмент сравнения, который
ИЛИ
- Выпущена новая версия существующего хорошо известного инструмента, который не сопоставлен ни с какими предопределенными ключами в git ?
Как и в моем случае, я установил вне сравнения 4. вне сравнения это хорошо известный инструмент для git, но его версия 4 по умолчанию не сопоставлена ни с одним из существующих ключей.Таким образом, вы можете использовать любой из следующих подходов:
Я могу сопоставить инструмент сравнения 4 с уже существующим ключом bc3
, который соответствует версии вне сравнения 3.У меня не было превосходной версии 3 на моем компьютере, поэтому мне было все равно.Если бы я хотел, я мог бы сопоставить его с любой из предопределенных клавиш в списке выше, например, examdiff
.
Если вы сопоставите хорошо известную версию инструментов с соответствующим уже существующим / хорошо известным ключом, вам не нужно будет запускать вторую команду, так как их путь установки уже известен git .
Например, если бы я установил на моем компьютере не сравниваемую версию 3, то для начала работы было бы достаточно иметь следующую конфигурацию в моем файле .gitconfig
:
[diff]
tool = bc3
Но если вы хотитеизмените связанный с ним инструмент по умолчанию, и в итоге вы упомянете атрибут path
отдельно, чтобы git узнал путь, откуда должен быть запущен исполняемый файл вашего нового инструмента.Вот запись, которую лисицы должны запускать после сравнения 4.Обратите внимание на путь к исполняемому файлу:
[difftool "bc3"]
path = c:/program files/Beyond Compare 4/bcomp.exe
Самый чистый подход - полностью определить новый ключ для нового инструмента сравнения или новой версии известного инструмента,Как и в моем случае, я определил новый ключ bc4
, чтобы его было легко запомнить.В таком случае вам нужно выполнить всего две команды, но ваша вторая команда не будет устанавливать путь к исполняемому файлу вашего нового инструмента.Вместо этого вы должны установить атрибут cmd
для вашего нового инструмента, как показано ниже:
git config --global diff.tool bc4
git config --global difftool.bc4.cmd "\"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" -s \"\$LOCAL\" -d \"\$REMOTE\""
При выполнении вышеуказанных команд создаются следующие записи в вашем файле .gitconfig
:
[diff]
tool = bc4
[difftool "bc4"]
cmd = \"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" -s \"$LOCAL\" -d \"$REMOTE\"
Я настоятельно рекомендую вам следовать подходу №2, чтобы избежать путаницы в будущем.