作者:朴子字軒_755 | 来源:互联网 | 2022-12-18 06:29
我想将我的git mergetool kdiff3更改为p4merge.因为我在使用kdiff3 mergetool的Windows系统上出错了.
/ mingw32/libexec/git-core/git-mergetool - lib:第128行:C:\ Program Files\KDiff3\kdiff3:无法执行二进制文件:exec格式错误application/config/constants.php似乎没有变化.
所以我想改为kdiff3到p4merge,这里我也得到一个错误
警告:merge.tool有多个值错误:无法使用单个值覆盖多个值使用regexp, - add或--replace-all更改merge.tool.
我怎么解决这个问题?无论是kdiff3还是p4merge
1> Yılmaz Durma..:
您的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"
编辑:我将提供一个清洁过程,因此,这些附加命令将有所帮助。
第一步是备份当前设置。最简单的方法是使用这些清单,然后复制粘贴结果。
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
更好地理解。