He intentado usar el diffcomando linux en el pasado sin mucha suerte o paciencia. Por lo general, termino usando una utilidad GUI como DiffMerge o Kdiff.
Recientemente comencé a intentar usar de diffnuevo para comparar archivos en sistemas remotos a través de ssh, y he encontrado que la -y / --side-by-sideopción es muy útil, pero todavía siento que no estoy aprovechando al máximo esta utilidad.
Tengo curiosidad por saber cómo lograr lo siguiente:
- Resalte los cambios o utilice la codificación de colores para que la salida sea más legible
- Fusionar: seleccione líneas con diferencias y realice los cambios en uno de los archivos
Además, no he encontrado muchos buenos ejemplos cuando busco en Google, así que si tiene algunos secretos de Linux-fu para aprovechar al máximo las diferencias, ¿podría compartir? Voy a comparar principalmente archivos de configuración basados en texto, pero cualquier truco y consejo sería maravilloso.
Para referencia : la utilidad DiffMerge muestra fácilmente los cambios uno al lado del otro con resaltado de color. Los íconos en la parte superior le permiten cambiar entre las vistas de "mostrar todo", "mostrar diferencias" y "mostrar diferencias con el contexto". Me encantaría parte de esta funcionalidad en el símbolo del sistema.
PD: También debo señalar que otra opción que encuentro bastante útil es la --suppress-common-linesque aprendí en esta publicación de blog concisa y legible .
fuente

Respuestas:
En ninguna secuencia particular:
meldes un programa diff muy bueno que hace muy buenos diffs y combinaciones de tres vías.git config --global merge.conflictstyle diff3le ofrece una salida de combinación de tres vías para usar con herramientas comomeld.wdiffhace la palabra diffs, muy agradable si está coloreado :wdiff -w "$(tput bold;tput setaf 1)" -x "$(tput sgr0)" -y "$(tput bold;tput setaf 2)" -z "$(tput sgr0)" ...diffsalida, generalmente uso la opción--ignore-all-space(-w)diff-ignore-moved-lines* hace lo que dice en la etiqueta.difff* se puede usar para diferenciar solo las líneas que coinciden en campos determinados.* Descargo de responsabilidad: soy el autor, y los desarrollé para ayudar con la CLI y la GUI que difieren y se fusionan.
fuente
diffusebastante.He encontrado
vimdiffque es muy útil.fuente
Para colorear en el diff, debe mirar http://colordiff.sourceforge.net/ . Esto es solo una envoltura alrededor de diff y, como tal, todas las opciones de comando aún funcionan.
En caso de que tenga ubuntu simplemente escriba:
Corriendo el riesgo de no cumplir con su caso de uso,
gites un VCS muy agradable que se integra bien con muchas herramientas diferentes y de fusión (tanto de línea de comandos como de GUI). Pruébalo si es una opción.fuente
Tratar
sdiffdifftambién tiene opciones (-eo-ed) para crear un script de fusión para usar conedsdiff,diffyeddebe ser parte de su caparazón donde quiera que vaya.El software de control de versiones, probablemente, también tiene una
diffy lamergeherramienta incorporada.fuente