Conditional External Tool Git Diff Comparison

He creado un pequeño script para iniciar meld cuando se usa git diff , similar a esta pregunta.

Esto está bien y todo, sin embargo, debido a varios inconvenientes, solo me gustaría que git diff lance en ciertas circunstancias. ¿Hay alguna manera de crear un alias en mi .gitconfig para permitirme lanzar meld en ciertas circunstancias?

Así ingresa a git difftool una forma de lanzar progtwigs externos

Termina, sí y no. Para hacer esto, querrás usar git difftool . Sin embargo, hay algunas trampas en el path para lograr que funcione.

Primero, te preguntará qué editor quieres usar cada vez , lo cual es un problema. difftool pasar un indicador -y a difftool .

Asumiendo la herramienta de diferencia pnetworkingeterminada que usa git , también querrá especificar exactamente qué herramienta va a querer. Puede hacer esto de dos maneras, una a través de -t <toolname> la otra --tool=<toolname> .

Asumiendo que siempre querrá ser una herramienta específica de forma pnetworkingeterminada, puede configurar esto usando .gitconfig .

 [difftool] gui = meld 

Esto debería establecer la herramienta pnetworkingeterminada que difftool le pregunta, avíseme si esta parte no es precisa.

Aquí hay una copy final de mi .gitconfig que tiene un alias de trabajo para difftoool .

 [alias] mdiff = difftool -t "meld" -y 

Esto tiene el beneficio adicional de no tener que esperar siempre para que se abra meld, y aún así poder get una diferencia de text en la línea de command.