我正在使用 meld 和git进行合并,我想尝试vimdiff。配置三方合并git然后我自己的diff命令:
[merge]
tool = vimdiff3
conflictstyle = diff3
[mergetool "vimdiff3"]
cmd = gvim -f -d \"$LOCAL\" \"$BASE\" \"$REMOTE\" \"$MERGED\"
但是每当我尝试运行mergetool时,git只是快速响应“[file]似乎没有改变”并跳过合并。
最重要的是,我希望在底部获得真正的三向合并(四个文件)和合并窗口,这很糟糕,但我看到很多报道它在互联网上没有工作:
cmd = gvim -f -d -c \"wincmd J\" \"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
答案 0 :(得分:1)
您可以检查升级mergetools/vimdiff3
设置(对于git 2.0.x Q3 2014)是否适合您。
commit 7c147b7之后的Felipe Contreras (felipec
),仅在commit 3a9dae7(2014年6月)最近才合并:
mergetools
:添加vimdiff3
模式除了隐藏其他窗口外,它与默认设置类似 这可确保在主合并窗口中仍然可以看到已删除/添加的颜色,但其他窗口不可见。
merge.conflictstyle = diff3。
特别有用
gvimdiff3|vimdiff3)
if $base_present
then
"$merge_tool_path" -f -d -c 'hid | hid | hid' \
"$LOCAL" "$REMOTE" "$BASE" "$MERGED"
else
"$merge_tool_path" -f -d -c 'hid | hid' \
"$LOCAL" "$REMOTE" "$MERGED"
fi
;;
添加了新文件mergetools/vimdiff3
,这意味着您需要做的就是:
git mergetool --tool=vimdiff3
(无需配置mergetool.vimdiff3.cmd
)