Configurar Meld como Difftool y Mergetool para Git

John Wachira 18 agosto 2022
  1. Configurar Meld como Git predeterminado Difftool
  2. Configurar Meld como Git predeterminado Mergetool
Configurar Meld como Difftool y Mergetool para Git

Este artículo discutirá la configuración de Meld como las herramientas predeterminadas de diff y merge de Git. Meld es un increíble programa GUI diff que nos facilita la inspección de los cambios de archivos y la combinación de resultados.

El primer paso siempre es descargar e instalar el programa. Una vez que haya terminado, siga nuestro ejemplo.

Configurar Meld como Git predeterminado Difftool

Para configurar Git para usar Meld como difftool, necesitaremos hacer cambios en nuestro archivo .gitconfig. Agregaremos las siguientes líneas a nuestro archivo .gitconfig.

[diff]
    tool = meld
[difftool]
    prompt = false
[difftool "meld"]
    cmd = meld "$LOCAL" "$REMOTE"

El orden está determinado por el orden de los argumentos $LOCAL y $REMOTE. En nuestro caso, el $LOCAL, nuestro archivo original, estará a la izquierda y el $REMOTE es el archivo modificado a la derecha.

Si quieres lo contrario, usa esto en su lugar.

cmd = meld "$REMOTE" "$LOCAL"

La parte prompt = false indica a Git que no solicite confirmación para la herramienta de inicio, lo que hace de forma predeterminada.

Podemos ejecutar el comando git difftool como el comando git diff.

$ git difftool <BranchName> file_name

Configurar Meld como Git predeterminado Mergetool

Meld también facilita la resolución de conflictos durante la fusión gracias a su GUI mergetool. De nuevo, cambiaremos nuestro archivo .gitconfig para configurar Meld como mergetool para Git.

Agregue las siguientes líneas a su archivo .gitconfig.

[merge]
    tool = meld
[mergetool "meld"]
    # Choose one of these 2 lines
    cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
    cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"

Cuando tenemos conflictos de fusión, podemos usar Meld como nuestra mergetool ejecutando el siguiente comando.

$ git mergetool

Echemos un breve vistazo a los parámetros anteriores.

  1. $LOCAL - Este es el archivo en nuestra rama desprotegida.
  2. $REMOTE: este es el archivo en la rama que estamos intentando fusionar.
  3. $MERGED: este es el archivo con los conflictos de fusión.
  4. $BASE - Este es el archivo original cuando se crea la rama que contiene $REMOTE.

$LOCAL y $REMOTE estarán a la izquierda y a la derecha, dependiendo de su orden en cmd, y puede tener $BASE o $MERGED en el medio. Meld permite una vista de 3 vías, y debemos editar el archivo del medio para resolver los conflictos.

Después de editar, podemos cerrar el programa y Git actualizará el archivo automáticamente. En este punto, estamos listos para confirmar los cambios y terminar la fusión.

Alternativamente, podemos ejecutar algunos comandos en Bash para actualizar nuestro archivo .gitconfig.

Para usuarios de Windows, ejecute estos comandos.

$ git config --global diff.tool meld
$ git config --global difftool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
$ git config --global difftool.prompt false

$ git config --global merge.tool meld
$ git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
$ git config --global mergetool.prompt false

Asegúrese de ingresar la ruta correcta a su archivo MELD.exe.

Los usuarios de Linux pueden usar los siguientes comandos para actualizar su archivo .gitconfig.

$ git config --global diff.tool meld
$ git config --global difftool.meld.path "/usr/bin/meld"
$ git config --global difftool.prompt false

$ git config --global merge.tool meld
$ git config --global mergetool.meld.path "/usr/bin/meld"
$ git config --global mergetool.prompt false

Actualice el código anterior con la ruta de instalación correcta en su máquina.

En pocas palabras, las interfaces originales diff y merge de Git no son atractivas. Sin embargo, podemos configurar Git para usar Meld como la GUI predeterminada difftool y mergetool.

Todo lo que necesita hacer es actualizar su archivo .gitconfig siguiendo los pasos anteriores.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Artículo relacionado - Git Diff