Из WSL2 (Ubuntu) как можно использовать Meld, изначально установленный в Windows, в качестве инструмента слияния и сравнения git? Таким образом, такие команды, как git mergetool
& git difftool
из WSL, открывают Meld в Windows.
Как использовать Meld как git mergetool & difftool на WSL2?
Ответы (1)
Сделайте meld
легко доступным в WSL, связав его:
sudo ln -s /mnt/c/Program\ Files\ \(x86\)/Meld/Meld.exe /usr/local/bin/meld
В WSL отредактируйте ~/.gitconfig
и добавьте:
[diff]
tool = meld
[difftool "meld"]
cmd = meld \"$(wslpath -aw $LOCAL)\" \"$(wslpath -aw $REMOTE)\"
[merge]
tool = meld
[mergetool "meld"]
cmd = meld --auto-merge \"$(wslpath -aw $LOCAL)\" \"$(wslpath -aw $BASE)\" \"$(wslpath -aw $REMOTE)\" --output \"$(wslpath -aw $MERGED)\" --label=Local --label=Base --label=Remote --diff \"$(wslpath -aw $BASE)\" \"$(wslpath -aw $LOCAL)\" --diff \"$(wslpath -aw $BASE)\" \"$(wslpath -aw $REMOTE)\"
Чтобы git difftool --dir-diff
работал, вам нужно использовать его с --no-symlinks
(символические ссылки в \\wsl$\
, похоже, в настоящее время не работают при открытии из приложений Windows). Изменения все равно будут скопированы обратно в исходные файлы после закрытия Meld. Поскольку я часто использую инструмент git dir diff, я добавил эти псевдонимы в файл выше:
[alias]
dt = !git difftool --dir-diff --no-symlinks -t meld
mt = !git mergetool -t meld
person
Qtax
schedule
09.09.2020
Это так Начало-у
- person Panagiotis Kanavos; 09.09.2020