Por Anónimo (no verificado) , 29 Abril 2026

Sinopsis

git mergetool [-t <tool>] [--tool-help] [<file>...]

Descripción

El comando git mergetool lanza una herramienta externa de merge para ayudar a resolver conflictos tras un merge, rebase o cherry-pick que se detiene con conflictos. Herramientas comunes incluyen vimdiff, meld, kdiff3, p4merge, opendiff y vscode. Una vez configurado vía merge.tool, ejecutar git mergetool abre cada archivo conflictivo en la herramienta elegida y stagea la resolución cuando guardas.

La mayoría de editores modernos (VS Code, IDEs de JetBrains, Vim con Fugitive) tienen UIs de merge incorporadas que hacen redundante git mergetool. Aún así, en la línea de comandos o sobre SSH, sigue siendo una utilidad esencial para resolución gráfica o de tres paneles.

En el uso diario, git mergetool se integra con alias de shell. Para depurar, ejecuta con GIT_TRACE=1.

Entender cómo git mergetool interactúa con el modelo de datos de Git ayuda a recuperarse de errores.

Opciones comunes

OpciónDescripción
-t <tool>, --tool=<tool>Usa una herramienta de merge específica para esta ejecución.
--tool-helpLista las herramientas de merge que Git conoce.
-y, --no-promptNo pregunta antes de lanzar la herramienta.
-g, --guiUsa la herramienta GUI de merge.guitool.
-O<file>Procesa archivos en el orden listado en file.

Ejemplos

git config --global merge.tool meld
# Configura meld como predeterminada

git mergetool
# Lanza la herramienta configurada en cada archivo conflictivo

git mergetool -t vimdiff
# Usa vimdiff solo esta vez

git mergetool --tool-help
# Ve la lista de herramientas soportadas

Errores comunes

Tras resolver con git mergetool, los archivos de respaldo .orig sobrantes ensucian el directorio. Deshabilítalos con git config --global mergetool.keepBackup false. Otra trampa: lanzar una herramienta GUI sobre SSH sin X forwarding falla silenciosamente. Configura una herramienta amigable con consola (como vimdiff) para sesiones remotas.

Comandos relacionados

git merge, git rebase, git config, git diff