¿Qué software Git GUI proporciona una vista dividida en paralelo para comparar archivos?

Actualmente uso SmartGit , que es una GUI de Git con todas las funciones. La interfaz no es bonita, y en realidad es bastante lenta, pero es el único programa que he encontrado que me da una buena vista dividida lado a lado para ver el antes y el después de los cambios de código.

También tiene una herramienta integrada de combinación de 3 vías para conflictos que facilita la solución de conflictos dentro del programa.

No he encontrado nada más que haga eso. Todos los programas populares como Tower , SourceTree , GitKraken solo proporcionan cambios en línea. Encontré aquellos que no son tan intuitivos de leer.

¿Alguna sugerencia para otros programas a los que pueda cambiar que proporcionen esta funcionalidad?

El sitio web de git también proporciona enlaces a muchos programas GUI , pero ninguno parece tener vista dividida.

Lo estoy ejecutando en Mac y no hay límite de precio estricto. Las otras características "imprescindibles" son la capacidad de revertir los cambios línea por línea y la fusión de 3 vías integrada... todas las cosas que SmartGit hace muy bien mientras es lento y feo. Podría terminar quedándome en SmartGit después de toda esta investigación.

¿Has probado la herramienta git incorporada de IntelliJ? Puede mostrar los cambios que ha realizado en una vista de lado a lado y tiene una herramienta de resolución de conflictos con 3 paneles (sus cambios, cambios del servidor y resultado)
También puede echar un vistazo a meld : el sitio web enlaza con compilaciones binarias de OSX. Sin embargo, no estoy seguro de si es compatible con la fusión de 3 vías.

Respuestas (4)

Git fue creado para el desarrollo del kernel de Linux y esos muchachos se sienten como en casa en la consola y también les gusta enviar parches por correo de vez en cuando. Así que los cambios en línea son los predeterminados. También es muy útil si los archivos son grandes y solo cambian unas pocas líneas cuando te acostumbras. Deberías darles una segunda oportunidad.

Uso GitExtensions en Windows y también hay un puerto de Linux. Solo admite cambios en línea de forma nativa. Pero se pueden integrar herramientas de diferenciación/combinación de terceros (el paquete completo viene con KDiff3 pero puede elegir otra herramienta). Seleccione un cambio de archivo, abra el menú contextual y seleccione "Abrir con herramienta diff" o presione F3. Esto funciona en la vista principal, el historial de archivos y la ventana de confirmación.

ingrese la descripción de la imagen aquí

GitExtensions tiene algunos errores, pero es lo suficientemente bueno para trabajar con él. Utiliza libgit2 para interactuar con git, por lo que sus datos están seguros incluso si GitExtension se bloquea (no sucede con demasiada frecuencia). La velocidad y el aspecto están bien para mí (la consola en Linux es más rápida, pero esa es otra historia). Casi toda la funcionalidad de git está integrada. Faltan los comandos que se usan con menos frecuencia, como git filter-branchy similares, pero la consola git está a solo un clic de distancia. La mayoría de mis colegas nunca han tocado git por consola y todavía son capaces de hacer bifurcaciones, fusiones, cambios de base interactivos, etc.

Usando la configuración descrita en https://stackoverflow.com/questions/33308482/git-how-configure-kdiff3-as-merge-tool-and-diff-tool , puede usar kdiff3, que es una excelente comparación y combinación lado a lado herramienta.

Yo uso meld como mi difftool. Ahora, cuando lo hago git difftool, se abre un bonito visor de lado a lado en fusión. Lo uso tanto en Linux como en Windows.

GitUp merece una mención aquí. Tiene una agradable vista de lado a lado que incluso le permite seleccionar líneas específicas de un archivo modificado para el escenario (dejando otras para una confirmación posterior).

Me gusta mucho, pero no puedo recomendarlo de todo corazón ya que falla con bastante frecuencia (especialmente si lo usa en combinación con la línea de comandos Git, creo, en lugar de exclusivamente). Además, una vez corrompió mi repositorio de Git (creando entidades duplicadas que me impidieron cargar mis cambios en Github, causando todo tipo de problemas). ¡Usted ha sido advertido!