Настройка инструмента с дифф.gitconfig хранит настройки
как настроить Git для использования другого инструмента для различения с помощью .файл gitconfig?
у меня это в моем .gitconfig:
[diff]
tool = git-chdiff #also tried /bin/git-chdiff
Он не работает; он просто открывает обычную командную строку diff. Когда я делаю
export GIT_EXTERNAL_DIFF=git-chdiff
затем git diff откроет внешний инструмент diffing (поэтому я знаю, что скрипт внешнего инструмента diff отлично работает). У меня что-то не так с моим .конфигурация gitconfig для инструмента diff?
6 ответов:
Git предлагает ряд difftools предварительно настроенных "из коробки" (kdiff3, kompare, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, diffuse, opendiff, p4merge и araxis), а также позволяет указать свой собственный. Чтобы использовать один из предварительно настроенных difftools (например, "vimdiff"), добавьте следующие строки в
~/.gitconfig:[diff] tool = vimdiffтеперь вы сможете запустить "git difftool" и использовать свой инструмент по выбору.
указание собственного difftool, on с другой стороны, требуется немного больше работы, см. как просмотреть вывод "git diff" с помощью моего предпочтительного инструмента/ средства просмотра diff?
дополнительный способ сделать это (из командной строки):
git config --global diff.tool tkdiff git config --global merge.tool tkdiff git config --global --add difftool.prompt falseпервые две строки установят difftool и mergetool в
tkdiff- изменить в соответствии с вашими предпочтениями. Третья строка отключает раздражающее приглашение, поэтому всякий раз, когда вы нажимаетеgit difftoolон автоматически запустит difftool.
другие сделали 99% ответа на это, но есть один шаг налево. (Мой ответ будет исходить из OS X, поэтому вам придется соответствующим образом изменить пути к файлам.)
вы вносите эти изменения в свой
~/.gitconfig:[diff] tool = diffmerge [difftool "diffmerge"] cmd = /Applications/Diffmerge.app/Contents/MacOS/diffmerge $LOCAL $REMOTEэто исправит инструмент diff. Вы также можете исправить это без редактирования
~/.gitconfigнепосредственно вводя эти команды из терминала:git config --global diff.tool diffmerge git config --global difftool.diffmerge.cmd "/Applications/DiffMerge.appContents/MacOS/diffmerge $LOCAL $REMOTE"1%, что все остальные не смогли упомянуть, когда вы используете это, вы не можете просто запустить
git diff myfile.txt; вам нужно запуститьgit difftool myfile.txt.
вот часть моего ~/.gitconfig, где я настраиваю инструменты diff и merge. Мне нравится diffmerge от SourceGear. (На самом деле мне это очень нравится).
[merge] tool = diffmerge [mergetool "diffmerge"] cmd = "diffmerge --merge --result=\"$MERGED\" \"$LOCAL\" \"$(if test -f \"$BASE\"; then echo \"$BASE\"; else echo \"$LOCAL\"; fi)\" \"$REMOTE\"" trustExitCode = false [diff] tool = diffmerge [difftool "diffmerge"] cmd = diffmerge \"$LOCAL\" \"$REMOTE\"Итак, вы видите, вы определяете инструмент с именем "diffmerge" в
[difftool "diffmerge"]линии. Затем я устанавливаю инструмент "diffmerge" по умолчанию в .у меня, очевидно, есть команда "diffmerge" на моем пути, здесь. В противном случае мне нужно будет дать полный путь к исполняемому файлу.
добавить один из блоков ниже работает для меня, чтобы использовать KDiff3 для моих сред разработки Windows и Linux. Это делает для хорошего последовательного кросс-платформенного инструмента diff и merge.
Linux
[difftool "kdiff3"] path = /usr/bin/kdiff3 trustExitCode = false [difftool] prompt = false [diff] tool = kdiff3 [mergetool "kdiff3"] path = /usr/bin/kdiff3 trustExitCode = false [mergetool] keepBackup = false [merge] tool = kdiff3Windows
[difftool "kdiff3"] path = C:/Progra~1/KDiff3/kdiff3.exe trustExitCode = false [difftool] prompt = false [diff] tool = kdiff3 [mergetool "kdiff3"] path = C:/Progra~1/KDiff3/kdiff3.exe trustExitCode = false [mergetool] keepBackup = false [merge] tool = kdiff3
воспроизведение мой ответ этой поток, который был более специфичен для настройки вне сравнения как инструмент diff для Git. Все детали, которые я поделился, одинаково полезны для любого инструмента diff в целом, поэтому поделитесь им здесь:
первая команда, которую мы запускаем, как показано ниже:
git config --global diff.tool bc3команда выше создает ниже запись в
.gitconfigнашли в для вашего нового инструмента, как показано ниже:git config --global diff.tool bc4 git config --global difftool.bc4.cmd "\"C:\Program Files\Beyond Compare 4\bcomp.exe\" -s \"$LOCAL\" -d \"$REMOTE\""запуск выше команды создает ниже записи в вашем
.gitconfigfile:[diff] tool = bc4 [difftool "bc4"] cmd = \"C:\Program Files\Beyond Compare 4\bcomp.exe\" -s \"$LOCAL\" -d \"$REMOTE\"я настоятельно рекомендую вам следовать подходу № 2, чтобы избежать путаницы для себя в будущем.
Comments