git merge 工具 gvimdiff使用介紹

2021-07-16 12:01:10 字數 1614 閱讀 8614

在使用前,我們先配置下vim引數,讀取根目錄下的.vimrc檔案,加入下面幾行:

shell

1

2

3

4

5

6

7

8

9

set

laststatus=2

" show

the

status

line

set

statusline=%

-10.3n

" buffer

number

" for

vimdiff

merge

let

mapleader

=","

map<

silent

>

<

leader

>1:

diffget

1<

cr>

:diffupdate

<

cr>

map<

silent

>

<

leader

>2:

diffget

2<

cr>

:diffupdate

<

cr>

map<

silent

>

<

leader

>3:

diffget

3<

cr>

:diffupdate

<

cr>

map<

silent

>

<

leader

>4:

diffget

4<

cr>

:diffupdate

<

cr>

這些是我們定義的快捷鍵,然後定義預設的merge工具:

shell

1

2

gitconfig

--global

merge

.tool

gvimdiff

gitconfig

--global

mergetool

.prompt

false

我這裡使用了gvimdiff,你可以使用vimdiff,都一樣的,區別在於乙個是gui的乙個終端下執行的。

ok,我們現在git已經發生衝突,執行:

shell

1git

mergetool

即可開啟merge工具:

總共有4個視窗,可以從圖中看到編號的,其中1號視窗就是本地的檔案了,如果你想合入4號視窗的改動,只要按下 ,(逗號的那個按鍵)釋放後很快按4,即可完成,同理,2、3視窗也可以用同樣的辦法合進去。

git merge 合併分支

master c0 c1 c2 c4 c3 c5 issuefix當前分支是master git checkout master 把issuefix中的內容merge進來 git merge issuefix 如果沒有衝突的話,merge完成。有衝突的話,git會提示那個檔案中有衝突,比如有如下衝突...

Git merge衝突解決

有主線分支br merge test master有檔案version.h定義如下 br merge test master ifndef version head define version head endif 現在有兩個新的分支br mrege test 1和br merge test 2都...

git merge模擬dry run功能

如果你使用過svn merge,那你多半知道它有個 dry run引數。其功能是模擬merge過程,看下merge中會發生什麼,以便根據情況決定是否要真正執行merge。不幸的是,git merge並沒有提供dry run選項。怎麼辦呢?git merge no commit no off bran...