vimdiff解决git merge冲突
GIT 合并时,顺利的话皆大欢喜,如果碰到冲突真是件痛苦的事。本文本描述怎样利用vimdiff这一强大的工具解决冲突。
配置git 的merge工具
git 配置文件为~/.gitconfig
执行以下命令:
git config --global merge.tool vimdiff
git config --global merge.conflictstyle diff3
git config --global mergetool.prompt false#让git mergetool不再生成备份文件(*.orig)
git config --global mergetool.keepBackup false
解决冲突
git mergetool filename
文件名参数是可选的。如果不传文件名,那么将会自动挨个打开有冲突的文件。界面如下:
上一层三个小窗口分别对应:
LOCAL
buffer: 当前分支BASE
buffer: 两个分支共同祖先,代表两个分支修改前REMOTE
buffer: 需要合并到当前分支的分支
下层窗口为:
MERGED
buffer: 合并后的,即有冲突的
vimdiff使用
鼠标移动到MERGED
窗口(CTRL-w切换窗口),
:diffget REMOTE # 获取REMOTE的修改到MERGED文件, 忽略大小写
:diffg BASE # get from base
:diffg LOCAL # get from local
注意:通过diffget
只能选取local, base, remote三种的一种,要想都需要3种或者两种,只能通过修改MERGED
文件
修改完成后, 保存
:wqa
突解决完,commit
git commit
删除orig文件
find . -name "*.orig" | xargs rm
vimff命令参考:
]c # nect difference
[c # previous difference
zo # open folded text
zc # close folded text
zr # open all folds
zm # close all folds
:diffupdate # re-scan the file for difference
do # diff obtain
dp # diff put
:set diffopt+=iwhite # to avoid whitespace comparison
Ctrl+W+W # toggle between the diff columns
Ctrl+W+h/j/k/l # 移动鼠标到不同窗口
:set wrap # wrap line
:set nowrap
:syn off # remove colors
vimdiff解决git merge冲突相关推荐
- 【git系列004】解决 git 未指定冲突处理方法的问题
解决 git 未指定冲突处理方法的问题 hint: Pulling without specifying how to reconcile divergent branches ishint: di_ ...
- VS Code 1.69 发布:允许快速解决 Git 合并冲突
Visual Studio Code 1.69 现已发布,一些主要亮点更新包括: 3-way merge editor- 在 VS Code 内解决合并冲突. 合并编辑器允许你快速解决 Git 合并冲 ...
- Git stash及解决Git stash冲突问题
Git stash 适应场景: 使用git的时候,我们往往使用分支(branch)解决任务切换问题,例如,我们往往会建一个自己的分支去修改和调试代码, 如果别人或者自己发现原有的分支上有个不得不修改的 ...
- 如何解决git代码冲突
如何解决git代码冲突 1.解决冲突,删除代码中矛盾的代码,然后上传或者下拉 git pull 或 git push 时出现MERGING,说明代码合并冲突 打开冲突文件解决代码冲突时,尽量把所有不同 ...
- 配置Beyond Compare 4作为git mergetool来解决git merge命令导致的文件冲突
文章目录 前言 解决方案 前提 配置 Beyond Compare 文件冲突及处理 产生冲突 解决冲突 工具配置的参数含义 git config git mergetool 思考 总结 前言 使用 g ...
- git merge 冲突解决
git merge 不同分支合并时,同一文件名的内容不同产生冲突 同一项目有三个分支,将second分支合并到first分支上 first分支的hello.txt文件内容 second分支的hello ...
- 解决GERRIT MERGE冲突“GIT SUBMIT INCLUDING PARENTS”
一.问题场景 gerrit merge冲突"git submit including parents"根本原因commit相互依赖提交.是用户push了commit A,在comm ...
- git merge 冲突_更新了!深入浅出图解Git,入门到精通(保姆级教程)第三篇
原文链接:https://mp.weixin.qq.com/s/d7YwRi1mEkxUSUqxWD_B1Q 这一篇写完基本Git的操作就图解完了,如果想深入了解Git,这里可以推荐一些Git的硬核书 ...
- git merge 冲突_卧槽!小姐姐用动画图解 Git 命令,这也太秀了吧?!
公众号关注 "GitHubDaily" 设为 "星标",每天带你逛 GitHub! 大家好,我是小 G. 在座的各位应该都知道,Git 作为居家必备.团队协作之 ...
最新文章
- Python的垃圾回收机制(引用计数+标记清除+分代回收)
- c编写程序完成m名旅客和n辆汽车的同步程序代写
- 外币评估时,错误勾选”资产负债表准备评估”的处理
- 由若干计算机网络连接而成的网络,计算机网络复习大纲(中山大学)
- Java类加载器总结
- 阿里云喻义:十年牧码,从码农走向工程师的进化之路
- [Shell]Tetris Game
- 【转】linux下cpio命令使用
- 江西直播源PHP代理,直播源更新平台
- Unity 工具之 UniWebView 内嵌网页/浏览器到应用中,并且根据UGUI大小放置(简单适配UGUI)
- Delphi编程(二)__Delphi安装
- 1到20阶乘倒数之和
- eclipse导入静态网页模板+搭建springboot环境示例+细节问题解决(详细)
- layui中关于重置按钮不起作用的提醒
- Excel-每隔几行进行转置一次
- 微信内网页链接被多人投诉导致拦截的解决方案
- 传统手工特征方法整理--LBP,HAAR,SIFT,HOG,ORB,SURF
- Hue编译安装适配sparksql(hue+livy+sparksql+pyspark)
- 《Applied Energy》期刊介绍(SCI 1区)
- Mentor.Graphics.O-in v3.0 Linux 1DVD
热门文章
- 三星刷入鸿蒙OS,全面狙击华为鸿蒙OS系统!谷歌霸气联手三星:发布新版鸿蒙OS系统...
- AES与RSA混合加密完整实例
- PUBG绿色玩家 看过来!
- 2021-06-10 MYSQL存储过程与触发器作业
- java使用jacob操作word文档
- android技术帖,android好帖子
- python3+selenium框架设计04-封装测试基类
- RandomAccess
- 21款奔驰S400L升级原厂小柏林之声音响
- word 编辑过程中变为只读_WPS?教程 | WPS?云办公如何多人协同编辑