Configurar la herramienta SourceGear DiffMerge para Git

John Wachira 18 agosto 2022
  1. Configurar DiffMerge en Windows
  2. Configurar DiffMerge en Mac OS
  3. Configurar DiffMerge en Ubuntu
Configurar la herramienta SourceGear DiffMerge para Git

Este artículo discutirá la configuración de Git para usar DiffMerge de SourceGear como la difftool predeterminada. Esta herramienta nos permite comprender fácilmente los conflictos de fusión con imágenes mejoradas en comparación con la difftool predeterminada de Git.

Es la herramienta ideal para una combinación de 3 vías, ya que admite la comparación de archivos de 3 vías.

Podemos ver el estado anterior de un archivo, el estado actual y el resultado después de una fusión. Debe descargar e instalar DiffMerge desde el sitio web oficial de SourceGear.

Configurar DiffMerge en Windows

Para configurar Git para usar la herramienta DiffMerge de forma predeterminada, agréguelo a su archivo .gitconfig.

 [diff]
     tool = DiffMerge
 [difftool "DiffMerge"]
     cmd = 'C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' "$LOCAL" "$REMOTE"
 [merge]
     tool = DiffMerge
 [mergetool "DiffMerge"]
     cmd = 'C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' -merge -result="$PWD/$MERGED" "$PWD/$LOCAL" "$PWD/$BASE" "$PWD/$REMOTE"
     trustExitCode = true
 [mergetool]
     keepBackup = false

Para los parámetros del argumento de comparación, tenemos:

  1. $LOCAL, que es el archivo original.
  2. $REMOTE, que es el archivo modificado.

Puede ejecutar los comandos git difftool y git mergetool en Git Bash para abrir DiffMerge.

Alternativamente, puede ejecutar los siguientes comandos en su símbolo del sistema para actualizar el archivo .gitconfig.

C:\> git config --global diff.tool diffmerge
C:\> git config --global difftool.diffmerge.cmd
    "C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe
        \"$LOCAL\" \"$REMOTE\""

C:\> git config --global merge.tool diffmerge
C:\> git config --global mergetool.diffmerge.trustExitCode true
C:\> git config --global mergetool.diffmerge.cmd
    "C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe
        -merge -result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\""

Configurar DiffMerge en Mac OS

El proceso de configuración de Git para usar DiffMerge en Mac OS es quizás el más sencillo. Asegúrese de tener el directorio a continuación.

/usr/local/bin/diffmerge

Ejecute los siguientes comandos para actualizar su archivo .gitconfig y pruébelo.

git config --global merge.tool diffmerge
git config --global mergetool.diffmerge.cmd "/usr/local/bin/diffmerge --merge --result=\"\$MERGED\" \"\$LOCAL\" \"\$BASE\" \"\$REMOTE\""
git config --global mergetool.diffmerge.trustExitCode true
git config --global mergetool.keepBackup false
git config --global diff.tool diffmerge
git config --global difftool.diffmerge.cmd "/usr/local/bin/diffmerge --nosplash \"\$LOCAL\" \"\$REMOTE\""

Podemos ejecutar el comando git config --global -e para inspeccionar nuestro archivo .gitconfig. Debería verse algo como esto:

[diff]
	tool = diffmerge

[merge]
	tool = diffmerge

...

[mergetool "diffmerge"]
	cmd = /usr/local/bin/diffmerge --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
	trustExitCode = true
[mergetool]
	keepBackup = false
[difftool "diffmerge"]
	cmd = /usr/local/bin/diffmerge --nosplash \"$LOCAL\" \"$REMOTE\"

Configurar DiffMerge en Ubuntu

La configuración en Ubuntu es muy similar a Mac OS. Usaremos los mismos comandos pero cambiaremos la ubicación de instalación.

Aquí están los comandos.

git config --global merge.tool diffmerge
git config --global mergetool.diffmerge.cmd "/usr/bin/diffmerge --merge --result=\"\$MERGED\" \"\$LOCAL\" \"\$BASE\" \"\$REMOTE\""
git config --global mergetool.diffmerge.trustExitCode true
git config --global mergetool.keepBackup false
git config --global diff.tool diffmerge
git config --global difftool.diffmerge.cmd "/usr/bin/diffmerge --nosplash \"\$LOCAL\" \"\$REMOTE\""

Eso es practicamente todo. Ahora podemos ejecutar los siguientes comandos para probarlo.

$ git mergetool
$ git difftool

En resumen, si desea configurar Git para usar la herramienta DiffMerge de SourceGear, deberá actualizar su archivo .gitconfig con los comandos enumerados según su sistema operativo.

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