vs-code
具有惊人的功能,可以解决如图所示的合并冲突。
我们可以轻松选择current
,incoming
或both
的更改。
但是如果使用vim
,我们必须手动进行操作,这会在文件很大时出现问题... vim?
答案 0 :(得分:2)
有些问题在您的问题中不清楚:
无论如何,这是基本合并冲突解决方法的解决方案:
$ git mergetool --tool vimdiff
用法非常简单:
]c
,然后按[c
进行上一个更改,:diffget LOCAL
(或简称为:diffg L
):diffg B
,:diffg R
,如果您仍然觉得它太“手工”,则可以简单地进行自己的映射:
" choose LOCAL
nnoremap <Left> :diffget LOCAL<Bar>diffupdate<CR>
" choose REMOTE
nnoremap <Right> :diffget RIGHT<Bar>diffupdate<CR>
" choose BASE
nnoremap <Up> :diffget BASE<Bar>diffupdate<CR>
" choose both
nnoremap <Down> :/>>>>>>>/;?<<<<<<<?,.g/^\(<<<<<<<\\|=======\\|>>>>>>>\)/d<CR>
答案 1 :(得分:0)
我的ConflictMotions plugin提出了下一个冲突[标记](]x
,]=
),相应的文本对象以及一个:ConflictTake
命令的动议通过选择某些部分([none this ours base theirs both all range query]
)解决冲突。