我更喜欢使用meld
作为差异工具。但是它没有选择快速解决所有简单的冲突,所以在合并的情况下,我想使用kdiff3
我已将merge.tool
设置为kdiff3和diff.guitool
以融合但git difftool
仍然始终运行kdiff3
[merge]
tool = kdiff3
conflictstyle = diff3
[diff]
guitool = meld
renames = copies
mnemonicPrefix = true
[difftool]
prompt = false
如何git difftool
运行meld
?
答案 0 :(得分:2)
diff.guitool
only applies if you use the --gui
flag
设置diff.tool
和merge.tool
会使git difftool
和git mergetool
使用不同的工具:
[merge]
tool = kdiff3
[diff]
tool = meld
答案 1 :(得分:1)
注意:自Git 2.22(2019年第二季度)以来,append()
个配置变量的组合以合理的顺序用作彼此的后备设置。
请参见commit 6c22d71,commit 7f978d7,commit 60aced3,commit 884630b,commit 05fb872(2019年4月29日)和commit 57d93c1,{{3} }(2019年4月24日)通过commit e9d309e。
(由Denton Liu (Denton-L
)在Junio C Hamano -- gitster
--中合并,2019年5月19日)
在您的情况下,由于未定义difftool:
{diff,merge}.{tool,guitool}
:在difftool
后退在git-difftool.txt中,它说
'
merge.guitool
'后退到'git difftool
'配置变量 difftool等效项尚未定义。但是,当缺少
git mergetool
时,它不会回退到 任何东西。当diff.guitool
为时,使git-difftool回退到merge.guitool
丢失。
commit 85ac27e现在包括:
diff.guitool
当使用
git difftool -g/--gui
或git difftool
选项调用'-g
'时,将从配置的--gui
变量而不是{{1} }。
diff.guitool
选项可用于覆盖此设置。如果未设置
diff.tool
,我们将以--no-gui
的顺序回退,diff.guitool
,merge.guitool
,直到找到工具为止。