##git mergetool
In the middle file (future merged file), you can navigate between conflicts with ]c
and [c
.
Choose which version you want to keep with :diffget //2
or :diffget //3
(the //2
and //3
are unique identifiers for the target/master copy and the merge/branch copy file names).
:diffupdate (to remove leftover spacing issues)
:only (once you’re done reviewing all conflicts, this shows only the middle/merged file)
:wq (save and quit)
git add .
git commit -m “Merge resolved”
If you were trying to do a git pull
when you ran into merge conflicts, type git rebase –continue
.
##vimdiff commands
]c : - next difference
[c : - previous difference
ctrl+w + w - switch windows
do - diff obtain
dp - diff put
zo - open folded text
zc - close folded text
:diffupdate - re-scan the files for differences
Moving between windows
CTRL-W h move to the window on the left
CTRL-W j move to the window below
CTRL-W k move to the window above
CTRL-W l move to the window on the right
CTRL-W t move to the TOP window
CTRL-W b move to the BOTTOM window
Moving windows
CTRL-W K move window to the upper
CTRL-W H move window to the far left
CTRL-W J move window to the bottom
CTRL-W L move window to the far right
git difftool --tool=vimdiff --no-prompt <commit> <commit>