Калейдоскоп для git difftool
Я пытался использовать калейдоскоп для git difftool
сравнить две ветви.
Поэтому я установил ksdiff и установил его следующим образом: .gitconfig
[diff]
tool = kaleidoscope
[difftool "kaleidoscope"]
cmd = ksdiff --changeset $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")
при беге
git difftool myBranch otherBranch
Получаю ошибку cannot use duplicate files within the same file list
1 ответ
Решение
Я нашел способ настроить его. В самом Kaleidoscope в меню Kaleidoscope есть ссылка под названием Integration, которая открывает окно конфигурации для нескольких решений управления версиями.
После установки ksdiff, нажав на кнопку Configure, вы добавите следующие строки в ваш .gitconfig
файл.
[diff]
tool = Kaleidoscope
[difftool "Kaleidoscope"]
cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[merge]
tool = Kaleidoscope
[mergetool "Kaleidoscope"]
cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
trustExitCode = true
затем выполнение следующей команды будет последовательно открывать каждый отдельный файл
git difftool myBranch otherBranch -y -t Kaleidoscope
-
Заметки:
-y
стоит, чтобы не спросить, хотим ли мы использовать Kaleidoscope для difftool для каждого файла. Ответ по умолчанию - "да".-t Kaleidoscope
здесь опционально, так как по умолчанию difftool уже установлен вKaleidoscope
в нашем.gitconfig
файл.