Colonetworking Git diff para HTML

Disfruto usando git diff --color-words para ver claramente las palabras que han cambiado en un file:

Captura de pantalla

Sin embargo, quiero compartir esa diferencia con alguien sin git o una terminal de color para ese asunto. Entonces, ¿alguien sabe de una herramienta o truco que pueda convertir la salida del terminal escapada en color en HTML?

 wget "http://www.pixelbeat.org/scripts/ansi2html.sh" -O /tmp/ansi2html.sh chmod +x /tmp/ansi2html.sh git diff --color-words --no-index orig.txt edited.txt | \ /tmp/ansi2html.sh > 2beshanetworking.html 

Lo que realmente necesitaba era un convertidor de ANSI a HTML. Y encontré uno muy decente en http://www.pixelbeat.org/ .

NOTA: Es posible que no vea ninguna coloración a less que incluya --color o --color-words , probablemente porque la tubería causa que git diff excluya los colors.

NOTA 2: es posible que necesite instalar gnu sed y awk, especialmente si está en una Mac. Hazlo con brew install gnu-sed gawk . Es posible que también deba agregarlos manualmente a su ruta, por ejemplo, con ln -s /usr/local/Cellar/gnu-sed/4.2.2/bin/gsed /usr/local/bin/ .

descargue diff2html, extráigalo y convierta diff en html con este command:

 $ diff2html file1.txt file2.txt > diff-demo1.htm 

Hay más … eche un vistazo a esta pregunta.

O después de hacer gits:

 git diff --color-words --no-index orig.txt /tmp/edited.txt > myfile 

descarga ambos ansifilter desde esta location. y use este command para convertir myfile a formatting html

 ansifilter -i myfile -H -o myfile2.html 

entonces … esto es exactamente lo que quieres;)

No conoce ninguna herramienta para hacer exactamente lo que quiere. Pero aquí hay un fragment de código que a menudo uso para generar html con formatting de color diff: simplediff

Está disponible en PHP y Python. El resultado label las diferencias usando tags <del> y <ins> para que pueda colorearlas fácilmente usando CSS.

Si quieres ver diferencias claras con la coincidencia de similitud de líneas , una mejor comparación de palabras , resaltado de syntax y más echa un vistazo a diff2html que es muy diferente al presentador HTML.

Para usarlo en la línea de command, puede verificar diff2html-cli, que es una CLI simple escrita en Node.js.

Para que pueda compartir sus diferencias con sus colegas, se integra con diffy.org .

Vea una muestra de diff aquí .

He creado una secuencia de commands perl para generar la tabla html para la diferencia de git. Para utilizar este script primero, debe recostackr el diff usando git diff sha1s …> diff.file, luego ejecute diff2html.pl diff.file. Visitar:

http://kernel-demystified.com/forum/index.php/topic,23.msg28.html#new

Es posible que desee consultar el proyecto github rmed, que proporciona una herramienta de command-line, que genera dift html estáticas que se pueden compartir utilizando vimdiff.

cuando uso git bash, si usas git show , solo necesitas copyr y pegar lo que se muestra en la console y copy los colors correctamente.