Seb*_*ian 5 git utf-8 meld mergetool windows-subsystem-for-linux
我是 WSL(Linux 的 Windows 子系统)用户。我使用 WSL 在我的主机和远程编译机器 (RedHat) 之间简单地 rsync 源代码。我找到了这样一篇文章:
https://www.deptagency.com/en-gb/story/using-meld-as-a-git-merge-tool-on-windows/
Run Code Online (Sandbox Code Playgroud)
从 WSL 触发并运行 GUI 窗口。
但是按照本文中的步骤操作后,我收到了这个错误消息(我已经检查过 Windows EoL 是否已通过):
回溯(最近一次调用):文件“bin/meld”,第 328 行,在结构化日志适配器中
你有什么想法?
提前致谢,BR
小智 7
我不确定它是否会回答这个问题,但我需要meld
在 WSL2 中运行。尝试过apt install meld
,但由于它是 Windows,它不运行 GTK 应用程序。所以我所做的就是简单地在 Windows 版本的 Meld 之间使用符号链接:
ln -s /mnt/c/Program\ Files\ \(x86\)/Meld/Meld.exe /usr/local/bin/meld
Run Code Online (Sandbox Code Playgroud)
瞧!
小智 6
您是否尝试过当前版本的 Meld https://meldmerge.org/。我已按照提供的链接https://www.deptagency.com/en-gb/story/using-meld-as-a-git-merge-tool-on-windows/进行操作,没有任何问题。
详细步骤
从https://meldmerge.org/下载并在 Windows 10 上安装 meld
导航到您的 wsl 终端 创建一个脚本以将内容传递给 meld
nano meld
Run Code Online (Sandbox Code Playgroud)
#!/bin/bash
/mnt/c/Program\ Files\ \(x86\)/Meld/Meld.exe $@
Run Code Online (Sandbox Code Playgroud)
使脚本可执行
sudo chmod +x meld
Run Code Online (Sandbox Code Playgroud)
将脚本移至/usr/bin
sudo mv meld /usr/bin
Run Code Online (Sandbox Code Playgroud)
然后,~/.gitconfig
添加/编辑以下内容
[merge]
tool = meld
[mergetool "meld"]
cmd = meld --diff \"$BASE\" \"$LOCAL\" \"$REMOTE\" --output \"$MERGED\"
Run Code Online (Sandbox Code Playgroud)
导航到存在合并冲突的 git 目录
跑步
git mergetool
Run Code Online (Sandbox Code Playgroud)
享受!