tag remove practices crear commits best git version-control merge

remove - git tag push



¿Cuál es la mejor herramienta de combinación visual para Git? (18)

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 interesantes ... mejor en aunque las ventanas

¿Cuál es la mejor herramienta para ver y editar una combinación en Git? Me gustaría obtener una vista de combinació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 excelentes. (Todavía no he descubierto cómo iniciar kdiff3 de tal manera que no me dé un error).

Mi sistema operativo es Ubuntu.


Así que para la combinación de git, puedes probar:

  • DiffMerge para comparar visualmente y combinar archivos en Windows, OS X y Linux.

  • Meld , es una herramienta visual de fusión y fusión.

  • KDiff3 , un programa de diferencias y fusiones), que compara o combina 2 o 3 archivos de entrada de texto / dirs.
  • 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 merging .

Escucho cosas buenas sobre kdiff3.


He probado muchas de las herramientas mencionadas aquí y ninguna de ellas ha sido lo que estaba buscando.

Personalmente, he descubierto 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 todas se combinan en una 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 lo uso como editor o IDE, solo para trabajar con git. UI limpia y muy sencilla, además de que es altamente personalizable.

  • Puede iniciarlo desde la línea de comandos y pasar un solo archivo que desee abrir, o agregar su carpeta de proyecto (git repo).

    • También recomendaría project-manager como una forma muy conveniente de navegar entre proyectos sin llenar la vista de árbol.
  • El único problema que he tenido es la actualización: cuando se trabaja con grandes repositorios, atom puede demorar en actualizar los cambios que realice fuera de él. Siempre lo cierro cuando termino, y luego vuelvo a abrir cuando quiero ver mis cambios / confirmar nuevamente. También puede volver a cargar la ventana con ctrl + shift + f5, que solo toma un segundo.

Y es gratis por supuesto.


Mi herramienta de combinación visual favorita es SourceGear DiffMerge

  • Es gratis.
  • Multiplataforma (Windows, OS X y Linux).
  • Interfaz de usuario visual limpia
  • Todas las funciones diferenciales que esperaría (Diff, Merge, Folder Diff).
  • Interfaz de línea de comandos.
  • Atajos de teclado utilizables.

Puede cambiar la herramienta utilizada por git mergetool pasando git mergetool -t=<tool> o --tool=<tool> . Para cambiar el valor predeterminado (desde vimdiff) use git config merge.tool <tool> .


Puede configurar su propia herramienta de combinación para ser utilizada con " git mergetool ".

Ejemplo:

git config --global merge.tool p4merge git config --global mergetool.p4merge.cmd p4merge ''$BASE $LOCAL $REMOTE $MERGED'' git config --global mergetool.p4merge.trustExitCode false

Y mientras estás en ello, también puedes configurarlo como tu diftool para " git difftool ":

git config --global diff.tool p4merge git config --global difftool.p4merge.cmd p4merge ''$LOCAL $REMOTE''

Tenga en cuenta que, en Unix / Linux, no quiere que su shell analice $BASE como una variable; en realidad debería aparecer en su archivo ~ / .gitconfig para que esto funcione.


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.


Puedes probar P4Merge .

Visualice las diferencias entre las versiones de archivo con P4Merge. Resuelva los conflictos que resulten del desarrollo paralelo o concurrente a través de la codificación de colores.

Las características incluyen:

  • Resalta y edita las diferencias de archivos de texto
  • Elige incluir o ignorar los finales de línea o espacios en blanco
  • Reconocer las convenciones de fin de línea para Windows (CRLF), Mac (CR) y Unix (LF)
  • Utilice los parámetros de la línea de comandos y ejecute desde aplicaciones que no sean de Perforce.
  • Mostrar números de línea al comparar y fusionar archivos
  • Excluye archivos que son modificados, únicos o sin cambios
  • Filtrar archivos por nombre o extensión
  • Organice los activos modificados en una jerarquía familiar de archivos / carpetas
  • Compare JPEG, GIF, TIFF, BMP y otros formatos de archivo
  • Extender usando la API de Qt
  • Superponer imágenes o mostrarlas lado a lado
  • Destaque las diferencias en imágenes superpuestas


Si utiliza Visual Studio , la herramienta integrada de Team Explorer es una muy buena herramienta para resolver los conflictos de combinación de git.


Utilizo diferentes herramientas para fusionar y comparar:

git config --global diff.tool diffuse git config --global merge.tool kdiff3

Puño podría ser llamado por:

git difftool [BRANCH] -- [FILE or DIR]

Segundo se llama cuando se utiliza git mergetool .


Vimdiff

Una vez que haya aprendido vim (y en mi humilde opinión debería), vimdiff es solo un pequeño y hermoso concepto ortogonal para aprender. Para obtener ayuda en línea en vim:

:help vimdiff

Si estás atrapado en la edad oscura del uso del mouse, y los archivos que estás fusionando no son muy grandes, te recomiendo Meld.


gitx http://gitx.frim.nl/

Algunos errores cuando se trabaja con conjuntos de confirmación grandes, pero excelentes para examinar los cambios y seleccionar diferentes cambios para poner en escena y luego confirmar.


Diffuse es mi favorita pero, por supuesto, soy parcial. :-) Es muy fácil de usar:

$ diffuse "mine" "output" "theirs"

Diffuse es una herramienta de combinación de texto pequeña y simple escrita en Python. Con Diffuse, puede combinar, editar y revisar fácilmente los cambios en su código. Difuso es software libre.


Meld es una herramienta de diferencia / fusión.

Aquí está cómo instalarlo en:

  • Ubuntu
  • Mac
  • Windows : "La versión recomendada de Meld para Windows es la versión más reciente, disponible como MSI en Meld "

Beyond Compare 3 , mi favorito, tiene una funcionalidad de merge en la edición Pro . Lo bueno de su combinación es que le permite ver las 4 vistas: base, izquierda, derecha y resultado fusionado. Es algo menos visual que P4V pero mucho más que WinDiff. Se integra con muchos controles de código 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 fusionar (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 puedes editar manualmente los archivos y no puedes alinearlos manualmente.

PS: P4Merge está incluido en P4V. Perforce intenta hacer que sea un poco difícil obtener su herramienta sin su cliente.

SourceGear Diff / Merge puede ser mi segunda opción de herramienta gratuita. Comprueba que fusionar screens-shot y verás que tiene al menos 3 vistas.

Meld es una nueva herramienta gratuita 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 origen como Git . Así que puedes tener un poco de historia en todos los archivos mucho más simple. La vista de combinación (ver screenshot ) 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 algún día admite la combinación de 5 vistas , esto sería realmente impresionante, porque si selecciona los compromisos en Git, realmente no tiene una base sino dos. Dos bases, dos cambios y una fusión resultante.