¿Cuál es la mejor herramienta para ver y editar una fusión en Git? Me gustaría obtener una vista de fusión de 3 vías, con "mío", "suyo" y "ancestro" en paneles separados, y un cuarto panel de "salida".
Además, las instrucciones para invocar dicha herramienta serían geniales. (Todavía no he descubierto cómo iniciar kdiff3 de tal manera que no me dé un error).
Mi sistema operativo es Ubuntu.
git
version-control
merge
andy
fuente
fuente
Respuestas:
Meld es una herramienta de diferenciación / fusión gratuita, de código abierto y multiplataforma (UNIX / Linux, OSX, Windows).
Aquí se explica cómo instalarlo:
fuente
meld
es tedioso con diferencias complejas, poder seleccionar opciones comochose b for all unresolved conflicts
es mucho mejor que tener que hacer clic manualmente en la flecha correcta para cada trozomeld
. Además, ser capaz de fusionarse en un archivo de salida específico en lugar de editar los archivos de entrada en su lugar es invaluable para retroceder en nerges fallidos.Puede configurar su propia herramienta de combinación para usarla con "
git mergetool
".Ejemplo:
Y mientras lo hace, también puede configurarlo como herramienta de control para "
git difftool
":Tenga en cuenta que en Unix / Linux no desea
$BASE
que su shell lo analice como variable; en realidad debería aparecer en su archivo ~ / .gitconfig para que esto funcione.fuente
Beyond Compare 3 , mi favorito, tiene unafuncionalidad de fusión en la edición Pro . Lo bueno de su fusión es que le permite ver las 4 vistas: base, izquierda, derecha y resultado combinado. Es algo menos visual que P4V pero mucho más que WinDiff. Se integra con muchos controles de fuente y funciona en Windows / Linux. Tiene muchas características como reglas avanzadas, ediciones, alineación manual ...
Perforce Visual Client ( P4V ) es una herramienta gratuita que proporciona una de las interfaces más explícitas para la fusión (ver algunas capturas de pantalla ). Funciona en todas las plataformas principales. Mi principal decepción con esa herramienta es su tipo de interfaz de "solo lectura" . No puede editar manualmente los archivos y no puede alinearlos manualmente.
PD: P4Merge está incluido en P4V. Perforce intenta que sea un poco difícil obtener su herramienta sin su cliente.
SourceGear Diff / Merge puede ser mi segunda opción de herramienta gratuita. Verifique que combine la captura de pantalla y verá que tiene las 3 vistas al menos.
Meld es una herramienta gratuita más nueva que preferiría SourceGear Diff / Merge : ahora también funciona en la mayoría de las plataformas (Windows / Linux / Mac) con la clara ventaja de admitir de forma nativa algún control de fuente como Git . Por lo tanto, puede tener un poco de historial de diferencias en todos los archivos mucho más simple. La vista de fusión (ver captura de pantalla ) tiene solo 3 paneles, al igual que SourceGear Diff / Merge . Esto hace que la fusión sea algo más difícil en casos complejos.
PD: Si una herramienta un día admite la fusión de 5 vistas , esto sería realmente increíble, porque si seleccionas las confirmaciones en Git, realmente no tienes una base, sino dos. Dos bases, dos cambios y una fusión resultante.
fuente
Escucho cosas buenas sobre kdiff3.
fuente
kdiff3
tiene muchas más funciones peromeld
tiene una mejor interfaz de usuario. En mi opinión,meld
es mejor para fusiones fáciles donde las características proporcionadas pormeld
son suficientes. Recuerde intentarlodiffuse
también.Mi herramienta de combinación visual favorita es SourceGear DiffMerge
fuente
vimdiff
Una vez que haya aprendido vim (y en mi humilde opinión debería hacerlo), vimdiff es solo un pequeño concepto ortogonal más hermoso para aprender. Para obtener ayuda en línea en vim:
Esta pregunta cubre cómo usarlo: ¿Cómo uso vimdiff para resolver un conflicto?
Si está atrapado en la edad oscura del uso del mouse y los archivos que está fusionando no son muy grandes, le recomiendo fusionar.
fuente
Puedes probar P4Merge .
Las características incluyen:
fuente
IntelliJ IDEA tiene una herramienta sofisticada de resolución de conflictos de fusión con la varita mágica Resolve, que simplifica enormemente la fusión:
fuente
Difuso es mi favorito pero, por supuesto, soy parcial. :-) Es muy fácil de usar:
fuente
diffuse
ve muy bien. Lo probé ahora y funcionó mejorkdiff3
. Pero, estoy tratando de usarlogit mergetool
y abre 4 archivos uno al lado del otro (local, resultado de fusión, remoto, base), y mi pantalla no es lo suficientemente amplia para eso. Tuve que hacer muchos desplazamientos horizontales. kdiff3 solo muestra 3 uno al lado del otro y el resultado en la mitad inferior de la ventana.Araxis Merge http://www.araxis.com/merge Lo estoy usando en Mac OS X pero lo he usado en Windows ... no es gratis ... pero tiene algunas características agradables ... mejor en ventanas aunque.
fuente
Puede cambiar la herramienta utilizada por git mergetool pasando
git mergetool -t=<tool>
o--tool=<tool>
. Para cambiar el uso predeterminado (de vimdiff)git config merge.tool <tool>
.fuente
Si solo está buscando una herramienta de diferencia más allá de comparar, es bastante agradable: http://www.scootersoftware.com/moreinfo.php
fuente
Entonces, para la fusión de git, puedes probar:
DiffMerge para comparar visualmente y combinar archivos en Windows, OS X y Linux.
Meld , es una herramienta de combinación y diferencia visual.
opendiff
(parte de Xcode Tools en macOS), una utilidad de línea de comandos que inicia la aplicación FileMerge desde Terminal para comparar gráficamente archivos o directorios, incluida la fusión .fuente
git config --global merge.tool opendiff
funcionó mejor para míHe probado muchas de las herramientas mencionadas aquí y ninguna de ellas ha sido lo que estaba buscando.
Personalmente, he encontrado que Atom es una gran herramienta para visualizar las diferencias y la resolución / fusión de conflictos.
En cuanto a la fusión, no hay tres vistas, pero todo se combina en uno con resaltado de color para cada versión. Puede editar el código directamente o hay botones para usar la versión de ese fragmento que desee.
Ya ni siquiera lo uso como editor o IDE, solo para trabajar con git. Interfaz de usuario limpia y muy sencilla, además es altamente personalizable.
Puede iniciarlo desde la línea de comandos y pasar un solo archivo al que desea abrir, o agregar su carpeta de proyecto (git repo).
El único problema que he tenido es refrescante: cuando se trabaja con grandes repositorios, el átomo puede tardar en actualizar los cambios que realice fuera de él. Siempre lo cierro cuando termino, y luego vuelvo a abrir cuando quiero ver mis cambios / commit nuevamente. También puede volver a cargar la ventana con ctrl + shift + f5, que solo toma un segundo.
Y es gratis, por supuesto.
fuente
Utilizo diferentes herramientas para fusionar y comparar:
Puño podría ser llamado por:
El segundo se llama cuando lo usas
git mergetool
.fuente
Puede instalar la herramienta ECMerge diff / merge en su Linux, Mac o Windows. Está preconfigurado en Git, por lo que solo usar
git mergetool
hará el trabajo.fuente
Si usa Visual Studio , la herramienta incorporada de Team Explorer es una herramienta muy buena para resolver conflictos de fusión de git.
fuente
gitx http://gitx.frim.nl/
Algunos errores cuando se trabaja con conjuntos de confirmación grandes, pero son excelentes para examinar los cambios y elegir diferentes cambios en el escenario y luego confirmar.
fuente