Solía usar Windows, SVN, Tortoise SVN y Beyond Compare. Fue una gran combinación para hacer revisiones de código.
Ahora uso OSX y Git. Me las arreglé para reunir un script bash junto con Gitx y DiffMerge para encontrar una solución apenas aceptable.
Me he confundido con esta configuración y otras similares durante más de un año. También he intentado usar el visor de diferencias de Github y el visor de diferencias de Gitx, por lo que no es que no les haya dado una oportunidad.
Hay muchas personas inteligentes que hacen grandes cosas con Git. ¿Por qué no la diferencia lado a lado con la opción de ver el archivo completo? Con las personas que han usado ambos, nunca he oído hablar de alguien a quien le guste la vista individual +/- mejor, al menos por más de una comprobación rápida.
Respuestas:
No puedo hablar por Linus sobre esto, pero la forma en que git maneja las herramientas de herramientas es muy poco elegante, filosóficamente hablando. git hace lo que hace muy bien y utiliza herramientas externas para todo lo demás, incluida la fusión y la fusión más sofisticadas.
También uso DiffMerge con git en OS X, y no he tenido que recurrir a ningún shell de bash. Fue complicado, pero configuré la configuración de herramienta de diferencias y herramientas de combinación de git para llamar a DiffMerge directamente, y ahora puedo ver diferencias y resolver conflictos de fusión en una excelente herramienta visual de terceros.
Aquí está mi configuración:
fuente
git diff --stat
. Le ofrece una buena lista gráfica de todos los archivos modificados, con el número de líneas modificadas.Notarás que SVN en sí mismo tampoco ofrece una solución de lado a lado. Lo que has enumerado son herramientas de terceros. Como con la mayoría de las cosas en git, esto es extraordinariamente configurable, y tiene un gran soporte de herramientas listo para usar. ¿Tiene configurada una herramienta de combinación ? Si no, deberías. Si lo haces, inténtalo
git difftool
. Luego eche un vistazo a la página de manual para ver las opciones de configuración.Utilizo KDiff3 como mi herramienta de combinación, ya que es una buena herramienta multiplataforma, y sin otra configuración,
git difftool
hace exactamente lo que me pides.fuente
Es la filosofía * nix. Muchas de las personas que usan estas herramientas pasan mucho tiempo en la terminal. El terminal no requiere que muevamos nuestras manos del teclado al mouse. Sé que prefiero el estilo +/- a las herramientas de combinación / diferencia visual, principalmente porque solo me importan las diferencias. Me importan las 3-4 líneas alrededor del cambio y el cambio en sí. Algo más es información extra que realmente no me ayuda.
Los diferenciales se usan comúnmente para echar un vistazo rápido a lo que se ha cambiado. No leer el código.
Nunca he encontrado que las herramientas de diferencia visual sean muy útiles en comparación con la diferencia predeterminada en los sistemas GNU. Todo lo que me hacen hacer es comenzar a jugar con el mouse y obligarme a desplazarme por el archivo, descubrir su interfaz de usuario y luego luchar para volver a la línea de comando donde puedo hacer algo sobre un problema que veo en la diferencia .
fuente
Desde mi uso personal, creo que la respuesta es principalmente que las diferencias son lo suficientemente cortas como para que no importe.
Para las revisiones de código, utilizo una herramienta de revisión de código con todas las funciones, que me da todo lo que me gusta, como comentarios, resaltado de sintaxis y vista de lado a lado.
Lo uso
git diff
casi exclusivamente durante la puesta en escena del código para confirmar; Cuando ese es el caso, los diferenciales son lo suficientemente pequeños, y lo suficientemente recientes, que no necesito ver el contexto para recordar lo que está sucediendo.Mi herramienta de revisión de código de elección Phabricator , o posiblemente herramientas integradas por IDE, que son conscientes del contexto del lenguaje. Creo que el flujo de solicitud de extracción de github es terrible para la revisión de código, principalmente porque muestra diferencias unificadas y no una al lado de la otra.
fuente