使用vimdiff解决Git冲突时如何同时应用REMOTE与LOCAL的变更?
错误原因
diffget 命令单次仅支持指定一个目标缓冲区,你同时传入 RE LO 两个参数时,Vim会将两个参数整体识别为一个缓冲区名称查找,自然无法找到匹配项,触发E94报错。
实现方案
你可以通过以下两种方式实现按「REMOTE内容在前、LOCAL内容在后」的顺序合并两个缓冲区的变更:
- 分两次执行命令
先运行:diffget RE应用远程分支的变更,再运行:diffget LO应用本地分支的变更,两次执行完成后即可得到你需要的文件结构。 - 单条命令拼接执行
Vim支持用|拼接多条命令一次性运行,直接执行以下命令即可::diffget RE | diffget LO
补充说明
如果需要调整两段内容的先后顺序,调换两条 diffget 的执行顺序即可:比如要实现LOCAL内容在前、REMOTE内容在后,执行 :diffget LO | diffget RE 即可。
内容的提问来源于stack exchange,提问作者murison
相关产品推荐
相关产品推荐

