我使用 Windows Subsystem for Linux 提供的 Windows 10 Ubuntu bash。我想为 git 使用一种可视化的 diff/merge 工具。我在 Windows 上安装了 p4merge(遵循这篇 文章),并以以下方式配置了 git 的 .gitconfig
文件(我调整了路径以便从 Windows 10 Ubuntu bash 访问):
[merge]
tool = p4merge
[mergetool "p4merge"]
path = /mnt/c/Program Files/Perforce/p4merge.exe
[mergetool]
prompt = false
[diff]
tool = p4merge
[difftool "p4merge"]
path = /mnt/c/Program Files/Perforce/p4merge.exe
[difftool]
prompt = false
此外,我已将以下文件夹添加到 .bashrc
中的 bash PATH
变量中,以便可以从任何地方调用它:
export PATH=$PATH:"/mnt/c/Program Files/Perforce"
我的问题是,如果我在bash中调用git difftool
来使用p4merge
查看更改,就会收到以下消息:
- 在bash中:
无法转换当前工作目录。使用C:\Windows\system32
。 - 调用之后立即启动
p4merge
应用程序,但出现以下消息:错误:...指向无效文件
。
如果我理解正确,这个问题可能源于一个Windows程序(即p4merge
)找不到引用Linux文件路径(例如/mnt/c/..
)的文件。
有没有办法解决这种问题? (也许这是一个更普遍的问题:从Windows应用程序使用Linux路径。)
无论如何,我不坚持使用p4merge
,但需要类似的可视化工具来比较差异并进行合并。
如果您能提供任何信息,我将不胜感激。
wslpath -am
将\
转换为/
。 - Vasiliyp4merge.exe -le unix
。否则它会不断地更改行结尾。 - fbiagi$MERGED
)需要使用/o
标志才能正确保存。 - undefined