git - 适用于 Linux 的 Windows 子系统 git mergetool meld UnicodeDecodeError
问题描述
我是 WSL(Linux 的 Windows 子系统)用户。我使用 WSL 在我的主机和远程编译机 (RedHat) 之间简单地 rsync 源代码。我找到了这样一篇文章:
https://www.deptagency.com/en-gb/story/using-meld-as-a-git-merge-tool-on-windows/
它触发和运行从 WSL 融合的 GUI 窗口。
但是在按照本文的步骤进行操作后,我收到了这个错误消息(我检查了是否通过了 Windows EoL):
回溯(最后一次调用):文件“bin/meld”,第 328 行,在结构化日志适配器 UnicodeDecodeError:'utf-8' 编解码器无法解码位置 103 中的字节 0x93:无效的起始字节
你有什么想法?
提前谢谢,BR
解决方案
您是否尝试过当前版本的 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
#!/bin/bash
/mnt/c/Program\ Files\ \(x86\)/Meld/Meld.exe $@
使脚本可执行
sudo chmod +x meld
将脚本移至/usr/bin
sudo mv meld /usr/bin
然后,在~/.gitconfig
添加/编辑以下
[merge]
tool = meld
[mergetool "meld"]
cmd = meld --diff \"$BASE\" \"$LOCAL\" \"$REMOTE\" --output \"$MERGED\"
导航到有合并冲突的 git 目录
跑
git mergetool
享受!
推荐阅读
- c# - AspNet Core WebAPI FromBody 无法解析 JSon 对象
- c# - 如何将自己的方法变成可链接的 LINQ 方法?
- adsense - 通过 adsense 标签发送变量以帮助过滤报表
- python - Google Style Guide 中的可选类型提示
- mongodb - 通过 ID 在嵌套数组中查找单个记录,并根据 MongoDB 中的另一个嵌套数组进行排序
- r - 是否可以在 Rstudio 中自动触发片段?
- android - 如何扩展 textView 并自动移动下一个字段?
- mysql - MySQL 服务器处于非活动状态?如何使其处于活动状态?错误 --> mysql.service: 失败,结果为 'exit-code'
- c++ - 链接到 Visual Studio 动态库
- python - 熊猫从重复的行值中交换列值