日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vimdiff解决git merge冲突

發布時間:2024/3/13 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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冲突的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。