GIT-MERGETOOL(1) Git GIT-MERGETOOL(1) (NAME) git-mergetool - (SYNOPSIS) git mergetool [--tool=] [-y | --[no-]prompt] [...] (DESCRIPTION) git mergetool . git merge . ( ). . git mergetool . (OPTIONS) -t , --tool= . emerge gvimdiff kdiff3 meld vimdiff tortoisemerge . git mergetool --tool-help . git mergetool merge.tool . merge.tool git mergetool . mergetool..path . kdiff3 mergetool.kdiff3.path . git mergetool $PATH . git mergetool mergetool..cmd . git mergetool ( -t --tool merge.tool) BASE ( ) LOCAL REMOTE MERGED . mergetool..trustExitCode true . git mergetool . --tool-help --tool . -y, --no-prompt . --tool merge.tool . --prompt . -g, --gui git-mergetool -g --gui merge.guitool merge.tool . merge.guitool merge.tool . mergetool.guiDefault . --no-gui -g --gui mergetool.guiDefault merge.tool . -O (glob) . diff.orderFile ( git-config(1) ). diff.orderFile -O/dev/null . (CONFIGURATION) git-config(1) . : mergetool..path . $PATH . mergetool..cmd . : BASE ( ) LOCAL REMOTE MERGED . mergetool..hideResolved mergetool.hideResolved . mergetool.hideResolved . mergetool..trustExitCode . true . mergetool.meld.hasOutput meld --output . meld --help meld --output . mergetool.meld.hasOutput . mergetool.meld.hasOutput true --output false --output . mergetool.meld.useAutoMerge --auto-merge meld . mergetool.meld.useAutoMerge true --auto-merge meld . auto --auto-merge --auto-merge . false --auto-merge . mergetool..layout vimdiff vimdiff nvimdiff gvimdiff . git mergetool --tool= ( --tool merge.tool ) mergetool..layout . vimdiff . . BACKEND SPECIFIC HINTS . mergetool.hideResolved $MERGED $LOCAL $REMOTE . $LOCAL $REMOTE . mergetool..hideResolved . false . mergetool.keepBackup .orig . false . true ( ). mergetool.keepTemporaries . true . false . mergetool.writeToTemp BASE LOCAL REMOTE . true . false . mergetool.prompt . mergetool.guiDefault true merge.guitool ( --gui) auto merge.guitool merge.tool DISPLAY . false --gui merge.guitool . (TEMPORARY FILES) git mergetool *.orig . git mergetool . mergetool.keepBackup false git mergetool . (BACKEND SPECIFIC HINTS) vimdiff --tool=vimdiff git mergetool Vim : --------------------------------------------- | | | | | LOCAL | BASE | REMOTE | | | | | --------------------------------------------- | | | MERGED | | | --------------------------------------------- LOCAL BASE REMOTE ( << >> << >> << >>). MERGED ( ). Vim (:wq) :cq . Vim mergetool.vimdiff.layout : o + << >> o , << >> o / << >> o @ . MERGED . ( ): `@` > `+` > `/` > `,` : o layout = "(LOCAL,BASE,REMOTE)/MERGED" . / , . : layout = "LOCAL,BASE,REMOTE / MERGED" o layout = "LOCAL,MERGED,REMOTE" BASE . --------------------------------------------- | | | | | | | | | LOCAL | MERGED | REMOTE | | | | | | | | | --------------------------------------------- o layout = "MERGED" MERGED . vim <> . --------------------------------------------- | | | | | MERGED | | | | | --------------------------------------------- o layout = "@LOCAL,REMOTE" MERGED (@) <<>> . . --------------------------------------------- | | | | | | | | | | LOCAL | REMOTE | | | | | | | | | | --------------------------------------------- o layout = "LOCAL,BASE,REMOTE / MERGED + BASE,LOCAL + BASE,REMOTE" : (BASE LOCAL) (BASE REMOTE) . --------------------------------------------- | | TAB #2 | TAB #3 | | --------------------------------------------- | | | | | LOCAL | BASE | REMOTE | | | | | --------------------------------------------- | | | MERGED | | | --------------------------------------------- --------------------------------------------- | TAB #1 | | TAB #3 | | --------------------------------------------- | | | | | | | | | | BASE | LOCAL | | | | | | | | | | --------------------------------------------- --------------------------------------------- | TAB #1 | TAB #2 | | | --------------------------------------------- | | | | | | | | | | BASE | REMOTE | | | | | | | | | | --------------------------------------------- o layout = "LOCAL,BASE,REMOTE / MERGED + BASE,LOCAL + BASE,REMOTE + (LOCAL/BASE/REMOTE),MERGED" . ------------------------------------------------- | TAB #1 | TAB #2 | TAB #3 | | ------------------------------------------------- | LOCAL | | |---------------------| | | BASE | MERGED | |---------------------| | | REMOTE | | ------------------------------------------------- , / . (Variants) --tool=vimdiff : o --tool=gvimdiff gVim Vim. o --tool=nvimdiff Neovim Vim. mergetool.gvimdiff.layout mergetool.nvimdiff.layout mergetool.vimdiff.layout ( ). 1 2 3 vimdiff (: vimdiff3 nvimdiff1 ) . --tool=[g|n]vimdiff --tool=[g|n]vimdiff mergetool.[g|n]vimdiff.layout ... o =1: "@LOCAL, REMOTE" o =2: "LOCAL, MERGED, REMOTE" o =3: "MERGED" : --tool=gvimdiff2 gvim (LOCAL MERGED REMOTE) . (GIT) git(1) Git 2.55.0 2026-06-29 GIT-MERGETOOL(1)