Git没与vimdiff合作

时间:2012-06-15 09:41:00

标签: vim vimdiff

我正在使用 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\"

1 个答案:

答案 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