我想将我的git mergetool kdiff3更改为p4merge。因为我在使用kdiff3 mergetool的Windows系统上遇到错误。
所以我想将kdiff3更改为p4merge,在这里我也遇到了类似的错误
我怎么解决这个问题? kdiff3或p4merge
最佳答案
您的kdiff3安装可能无法正常运行,因此可能已损坏。或者,也许您尝试手动编辑配置文件并弄乱了其内容。为什么?因为Windows可执行文件通常具有.exe
扩展名。您可以尝试再次编辑配置。
无论如何,那不再重要了。如果您想尝试其他任何工具,则需要使用此工具。
git mergetool --tool=p4merge
您的git可能已经安装了其他文件。除了兼容的其他产品外,您还可以看到所有这些产品。
git mergetool --tool-help
编辑:
仅当您正确设置工具的路径时,此命令才有效。否则,您总是会得到
No files need merging
结果。您已经知道如何设置路径,但是我将在这里为其他可能需要的人提供帮助。获取配置项列表:
git config -l
查看是否已经正确设置了值(如果有)。然后设置为正确的值或删除。
git config --unset mergetool.p4merge.path
git config --add mergetool.p4merge.path "c:/somewhere/p4merge.exe"
编辑:
我将提供清洁过程,因此,这些附加命令将有所帮助。
第一步是备份当前设置。最简单的方法是使用这些 list ,然后复制粘贴结果。
git config --list
git config --global --list
然后使用这些编辑命令,只需获取配置文件的路径并备份它们(vim显示路径)或保存到编辑器中的其他位置即可。
git config --edit
git config --global --edit
现在备份已准备就绪,只需退出编辑器即可。如果确实不需要,请不要尝试手动编辑。
git config --unset name
git config --global --unset name
git config --remove-section name
git config --global --remove-section name
merge.tool
,mergetool.name
,diff.tool
和difftool.name
是这里要清理的代码。当您再次列出配置时,您应该看不到这些名称。本地和全局应分别清洁。然后退回我们刚刚清洁的那些东西。但这一次先在本地配置上尝试,然后再在全局上成功设置。
git config merge.tool name
git config mergetool.name.property value
git config diff.tool name
git config difftool.name.property value
此处
property
类似于cmd
和path
,而value
是它们的值,您可以从备份中复制它们。现在,这里重要的是首先要一次set only 1 tool
。关于路径的最后一件事。您(OP)似乎使用的是类似Linux的环境,因此使用
/
而不是\\
将使path
和cmd
更好地理解。