vimdiff解决git merge冲突
生活随笔
收集整理的這篇文章主要介紹了
vimdiff解决git merge冲突
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
? ? ? ? GIT?合并時(shí),順利的話(huà)皆大歡喜,如果碰到?jīng)_突真是件痛苦的事。本文本描述怎樣利用vimdiff這一強(qiáng)大的工具解決沖突。
?
配置git?的merge工具
git?配置文件為~/.gitconfig
執(zhí)行以下命令:
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文件名參數(shù)是可選的。如果不傳文件名,那么將會(huì)自動(dòng)挨個(gè)打開(kāi)有沖突的文件。界面如下:
上一層三個(gè)小窗口分別對(duì)應(yīng):
- LOCAL?buffer: 當(dāng)前分支
- BASE?buffer: 兩個(gè)分支共同祖先,代表兩個(gè)分支修改前
- REMOTE?buffer: 需要合并到當(dāng)前分支的分支
下層窗口為:
- MERGED?buffer: 合并后的,即有沖突的
vimdiff使用
鼠標(biāo)移動(dòng)到MERGED窗口(CTRL-w切換窗口),
:diffget REMOTE # 獲取REMOTE的修改到MERGED文件, 忽略大小寫(xiě) :diffg BASE # get from base :diffg LOCAL # get from local
注意:通過(guò)diffget只能選取local, base, remote三種的一種,要想都需要3種或者兩種,只能通過(guò)修改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 # 移動(dòng)鼠標(biāo)到不同窗口 :set wrap # wrap line :set nowrap :syn off # remove colors
?
總結(jié)
以上是生活随笔為你收集整理的vimdiff解决git merge冲突的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java防报毒_java接口如何有效防止
- 下一篇: @RunWith的作用