Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';vimdiff和vimdiff2在git中的区别是什么?_Git_Vim_Vimdiff - Fatal编程技术网

什么';vimdiff和vimdiff2在git中的区别是什么?

什么';vimdiff和vimdiff2在git中的区别是什么?,git,vim,vimdiff,Git,Vim,Vimdiff,他们之间有什么区别?我的搜索引擎结果只讨论vimdiff,而命令 git mergetool 两者都提供给我。vimdiff2于2010年9月推出(适用于git 1.7.4) 是的,但是有不同的合并选项(如git 1.8.2中所述:“vimdiff和vimdiff2的不同之处在于它们的merge命令”) 它(vimdiff2)强制进行双向合并,而vimdiff在检测到基(公共祖先)时将使用: gvimdiff|vimdiff) if $base_present then

他们之间有什么区别?我的搜索引擎结果只讨论vimdiff,而命令

git mergetool 

两者都提供给我。

vimdiff2于2010年9月推出(适用于git 1.7.4)

是的,但是有不同的合并选项(如git 1.8.2中所述:“vimdiff和vimdiff2的不同之处在于它们的merge命令”)

它(
vimdiff2
)强制进行双向合并,而
vimdiff
在检测到基(公共祖先)时将使用

gvimdiff|vimdiff)
    if $base_present
    then
        "$merge_tool_path" -f -d -c 'wincmd J' \
            "$MERGED" "$LOCAL" "$BASE" "$REMOTE"
    else
        "$merge_tool_path" -f -d -c 'wincmd l' \
            "$LOCAL" "$MERGED" "$REMOTE"
    fi
    ;;
gvimdiff2|vimdiff2)
    "$merge_tool_path" -f -d -c 'wincmd l' \
        "$LOCAL" "$MERGED" "$REMOTE"
    ;;
注意(2014年4月,对于Git 2.1.0,2014年8月)实际上也引入了
vimdiff3

它与默认窗口类似,只是其他窗口是隐藏的。
这确保删除/添加的颜色在主合并窗口上仍然可见,但其他窗口不可见

特别适用于
merge.conflictstyle=diff3


您建议如何解决合并冲突?“不幸的是,Vim在处理三向差异时遇到了一些困难,既突出了差异,又在三个窗口之间进行了单独的更改。”来源:@nomadStack。我更喜欢使用kdiff3。