Sid*_*uri 12 git github gitlab
我想将我的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
您的kdiff3安装可能无法正常运行,因此可能已损坏。或者,也许您尝试手动编辑配置文件并弄乱了其内容。为什么?因为Windows可执行文件.exe
通常具有扩展名。您可以尝试再次编辑配置。
无论如何,那不再重要了。如果要尝试其他任何工具,则需要使用此工具。
git mergetool --tool=p4merge
Run Code Online (Sandbox Code Playgroud)
您的git可能已经安装了其他文件。除了兼容的其他功能,您还可以查看所有其他功能。
git mergetool --tool-help
Run Code Online (Sandbox Code Playgroud)
编辑:仅当您正确设置工具路径时,此命令才有效。否则,您总是会得到No files need merging
结果。您已经知道如何设置路径,但是我将在这里为其他可能需要的人提供帮助。
获取配置项列表:
git config -l
Run Code Online (Sandbox Code Playgroud)
查看是否已经正确设置了值(如果有)。然后设置为正确的值或删除。
git config --unset mergetool.p4merge.path
git config --add mergetool.p4merge.path "c:/somewhere/p4merge.exe"
Run Code Online (Sandbox Code Playgroud)
编辑:我将提供一个清洁过程,因此,这些附加命令将有所帮助。
第一步是备份当前设置。最简单的方法是使用这些清单,然后复制粘贴结果。
git config --list
git config --global --list
Run Code Online (Sandbox Code Playgroud)
然后使用这些编辑命令,只需获取配置文件的路径并备份它们(vim显示路径)或保存到编辑器中的其他位置即可。
git config --edit
git config --global --edit
Run Code Online (Sandbox Code Playgroud)
现在备份已准备就绪,只需退出编辑器即可。如果确实不需要,请不要尝试手动编辑。
git config --unset name
git config --global --unset name
git config --remove-section name
git config --global --remove-section name
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
这里property
是那些喜欢cmd
和path
,和value
是他们的价值观,你可以从你的备份复制。现在重要的是set only 1 tool
首先要一次。
关于路径的最后一件事。您(OP)似乎使用类似Linux的环境,因此使用/
,而不是\\
会让path
并cmd
更好地理解。
归档时间: |
|
查看次数: |
1775 次 |
最近记录: |