password guardar credenciales configurar comandos borrar and git

guardar - git config--global



Configurando la herramienta diff con.gitconfig? (6)

¿Cómo configuro git para usar una herramienta diferente para diferir con el archivo .gitconfig? Tengo esto en mi .gitconfig:

[diff] tool = git-chdiff #also tried /bin/git-chdiff

y no funciona, solo abre la línea regular de comando diff. Cuando lo hago

export GIT_EXTERNAL_DIFF=git-chdiff

luego, git diff abrirá la herramienta de diferenciación externa (por lo que sé que la secuencia de comandos externa diff funciona bien). ¿Tengo algún problema con mi configuración .gitconfig para la herramienta diff?


Agregar uno de estos bloques me funciona para usar kdiff3 para mis entornos de desarrollo de Windows y Linux. Es una buena herramienta de fusión y diff consistente multiplataforma.

  • LINUX

    [difftool "kdiff3"] path = /usr/bin/kdiff3 trustExitCode = false [difftool] prompt = false [diff] tool = kdiff3 [mergetool "kdiff3"] path = /usr/bin/kdiff3 trustExitCode = false [mergetool] keepBackup = false [merge] tool = kdiff3

  • WINDOWS

    [difftool "kdiff3"] path = C:/Progra~1/KDiff3/kdiff3.exe trustExitCode = false [difftool] prompt = false [diff] tool = kdiff3 [mergetool "kdiff3"] path = C:/Progra~1/KDiff3/kdiff3.exe trustExitCode = false [mergetool] keepBackup = false [merge] tool = kdiff3


Esta es la parte de mi ~ / .gitconfig donde configuro las herramientas diff y merge. Me gusta diffmerge por SourceGear. (Me gusta mucho, como una cuestión de hecho).

[merge] tool = diffmerge [mergetool "diffmerge"] cmd = "diffmerge --merge --result=/"$MERGED/" /"$LOCAL/" /"$(if test -f /"$BASE/"; then echo /"$BASE/"; else echo /"$LOCAL/"; fi)/" /"$REMOTE/"" trustExitCode = false [diff] tool = diffmerge [difftool "diffmerge"] cmd = diffmerge /"$LOCAL/" /"$REMOTE/"

Entonces, ves, estás definiendo una herramienta llamada "diffmerge" en la línea [difftool "diffmerge"] . Luego estoy configurando la herramienta "diffmerge" como la predeterminada en la sección [diff] tool = .

Obviamente tengo el comando "diffmerge" en mi camino, aquí. De lo contrario, tendría que dar una ruta completa al ejecutable.


Forma adicional de hacerlo (desde la línea de comando):

git config --global diff.tool tkdiff git config --global merge.tool tkdiff git config --global --add difftool.prompt false

Las dos primeras líneas establecerán difftool y mergetool en tkdiff , cambia eso según tus preferencias. La tercera línea desactiva el molesto mensaje de modo que cada vez que presionas git difftool se iniciará automáticamente el difftool.


Git ofrece una amplia gama de herramientas preconfiguradas "preconfiguradas" (kdiff3, kompare, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, diffuse, opendiff, p4merge y araxis), y también le permite para especificar el tuyo Para usar uno de los difftools preconfigurados (por ejemplo, "vimdiff"), agregue las siguientes líneas a su ~/.gitconfig :

[diff] tool = vimdiff

Especificar su propia difftool, por otro lado, lleva un poco más de trabajo, ver ¿Cómo veo la salida ''git diff'' con un programa visual diff?


Otros han respondido al 99% sobre esto, pero hay un paso omitido. (Mi respuesta vendrá de OSX, así que tendrá que cambiar las rutas de archivos en consecuencia)

Usted hace estos cambios a su ~/.gitconfig :

[diff] tool = diffmerge [difftool "diffmerge"] cmd = /Applications/Diffmerge.app/Contents/MacOS/diffmerge $LOCAL $REMOTE

Esto arreglará la herramienta diff. También puede corregir esto sin editar el ~/.gitconfig directamente al ingresar estos comandos desde la terminal:

git config --global diff.tool diffmerge git config --global difftool.diffmerge.cmd "/Applications/DiffMerge.appContents/MacOS/diffmerge /$LOCAL /$REMOTE"

El 1% que todos los demás no mencionaron es que al usar esto no puedes ejecutar git diff myfile.txt , necesitas ejecutar git difftool myfile.txt .


Reproducción de mi respuesta de this hilo que era más específico para establecer más allá de la herramienta de comparación como diff para Git. Todos los detalles que he compartido son igualmente útiles para cualquier herramienta de diff en general, así que compartirlo aquí:

El primer comando que ejecutamos es el siguiente:

git config --global diff.tool bc3

El comando anterior crea la entrada siguiente en .gitconfig encuentra en el directorio %userprofile% :

[diff] tool = bc3

A continuación, ejecute el comando below ( ejecutar este comando es redundante en este caso particular y solo se requiere en algunos casos especializados. Lo sabrá en poco tiempo ):

git config --global difftool.bc3.path "c:/program files/beyond compare 3/bcomp.exe"

El comando anterior crea la entrada siguiente en el archivo .gitconfig :

[difftool "bc3"] path = c:/program files/Beyond Compare 3/bcomp.exe

Lo que hay que saber aquí es la clave bc3 . Esta es una clave bien conocida de git correspondiente a una versión particular de herramientas de comparación bien conocidas disponibles en el mercado ( bc3 corresponde a la 3ra versión de la herramienta Beyond Compare). Si desea ver todas las claves predefinidas, simplemente ejecute git difftool --tool-help command en git bash. Vuelve debajo de la lista:

vimdiff vimdiff2 vimdiff3 araxis bc bc3 codecompare deltawalker diffmerge diffuse ecmerge emerge examdiff gvimdiff gvimdiff2 gvimdiff3 kdiff3 kompare meld opendiff p4merge tkdiff winmerge xxdiff

Puede usar cualquiera de las teclas anteriores o definir una clave personalizada propia. Si desea configurar una nueva herramienta por completo (o una versión recientemente publicada de la herramienta conocida) que no se correlaciona con ninguna de las claves enumeradas anteriormente, puede asignarla a cualquiera de las claves enumeradas anteriormente o a una nueva. llave personalizada propia.

¿Qué sucede si tiene que configurar una herramienta de comparación que es

  • Absolutamente nuevo en el mercado

O

  • ¿Se lanzó una nueva versión de una herramienta conocida que no está asignada a ninguna clave predefinida en git ?

Al igual que en mi caso, había instalado más allá de la comparación 4. Más allá de la comparación es una herramienta muy conocida para git pero su versión 4 no está asignada a ninguna de las claves existentes de forma predeterminada. Entonces puedes seguir cualquiera de los siguientes enfoques:

  1. Puedo mapear más allá de la herramienta de comparación 4 a la clave ya existente bc3 que corresponde a la versión más allá de comparar 3. No tenía más que comparar la versión 3 en mi computadora, así que no me importó. Si quisiera, podría haberlo asignado a cualquiera de las claves predefinidas en la lista anterior, por ejemplo, examdiff .

    Si asigna una versión conocida de las herramientas para que se apropien de la clave ya existente / conocida, entonces no necesitaría ejecutar el segundo comando ya que su ruta de instalación ya es conocida por git .

    Por ejemplo, si hubiera instalado más allá de la versión de comparación 3 en mi caja, tener la siguiente configuración en mi archivo .gitconfig hubiera sido suficiente para ponerme en marcha:

    [diff] tool = bc3

    Pero si desea cambiar la herramienta asociada predeterminada, terminará mencionando el atributo de path separado para que git conozca la ruta desde donde debe iniciarse el ejecutable de la herramienta nueva. Aquí está la entrada que zorros git para lanzar más allá de comparar 4 en su lugar. Tenga en cuenta la ruta del exe:

    [difftool "bc3"] path = c:/program files/Beyond Compare 4/bcomp.exe

  2. El enfoque más limpio es definir una nueva clave para la nueva herramienta de comparación o una nueva versión de una herramienta bien conocida. Como en mi caso, bc4 una nueva clave bc4 para que sea fácil de recordar. En tal caso, debe ejecutar dos comandos en total, pero su segundo comando no configurará la ruta del ejecutable de su nueva herramienta. En su lugar, debe establecer el atributo cmd para su nueva herramienta como se muestra a continuación:

    git config --global diff.tool bc4 git config --global difftool.bc4.cmd "/"C://Program Files//Beyond Compare 4//bcomp.exe/" -s /"/$LOCAL/" -d /"/$REMOTE/""

    Al ejecutar los comandos anteriores se crean las siguientes entradas en su archivo .gitconfig :

    [diff] tool = bc4 [difftool "bc4"] cmd = /"C://Program Files//Beyond Compare 4//bcomp.exe/" -s /"$LOCAL/" -d /"$REMOTE/"

Recomiendo encarecidamente que siga el método n.º 2 para evitar confusiones en el futuro.