Saltar al contenido
GitTree
Fusionar y resolver

Resolver conflictos de fusión

Un conflicto ocurre cuando ambas ramas cambiaron las mismas líneas. El solucionador de GitTree muestra las dos versiones una al lado de la otra, A y B: marque las líneas para mantener en cada conflicto, marque Output, luego Save y continúe con la fusión, rebase o selección.

GratisActualizado

Funciona en GitTree Gratis: todas las funciones locales de Git, una vez que hayas iniciado sesión.

En esta página
  1. Antes de empezar
  2. donde encontrarlo
  3. Pasos
  4. Resultado esperado
  5. Formas más rápidas de resolver
  6. Si algo sale mal
  7. Preguntas
  8. Relacionado

Antes de empezar

  • Una fusión, cambio de base, selección selectiva o reversión se detuvo con conflictos: el banner lo dice y los cuenta.

donde encontrarlo

  • El banner encima del gráfico: Resolve.
  • En el panel de cambios, los archivos en conflicto aparecen primero; seleccione uno para abrirlo.
acciónmacOSWindows y Linux
Próximo cambio en el archivoF7F7
Cambio anterior en el archivo⇧F7Shift+F7

Pasos

  1. Abra el archivo en conflicto

    Seleccione Resolve en el banner. El solucionador abre el primer archivo en conflicto, con cuántos conflictos tiene y 0 of 2 conflicts resolved encima.

    El solucionador de conflictos GitTree con QuickOpen.tsx: dos conflictos entre desarrollo (A) y función/búsqueda (B) y el resultado siguiente
    Cada lado nombra su compromiso y rama; el resultado a continuación muestra lo que contendrá el archivo.GitTree interfaz con un repositorio de demostración.
  2. Decidir cada conflicto

    Para Conflict 1, marque las líneas para mantener en A, en B o en ambas. Keeps 1 of 1 lines confirma tu elección; el conflicto se marca resuelto tan pronto como se decide algo. Take Neither no se queda con ninguno de ellos.

  3. Verifique la salida

    El panel Output muestra el archivo tal como se guardará, con una nota sobre cada conflicto aún sin decidir y Go to Conflict para saltar allí. Utilice Edit Output para escribir una solución a mano y Show Base para ver el ancestro común.

  4. Guardar y continuar

    Presione Save para escribir el archivo y marcarlo como resuelto. Cuando se resuelvan todos los archivos, elija Continue en el banner para finalizar la operación.

Resultado esperado

El paso de fusión (o rebase) se completa con su resolución y el banner desaparece.

Formas más rápidas de resolver

  • El cuadro al lado de A o B en el encabezado toma todos los conflictos del archivo desde ese lado.
  • Undo Choice y Redo Choice revisan tus decisiones sin tocar el archivo.
  • Open in Merge Tool entrega el archivo a la herramienta de combinación externa configurada en su configuración de Git.
  • Con rerere activado, Git reutiliza cómo resolvió el mismo conflicto antes; GitTree dice Reused resolution y te permite revisarlo.

Si algo sale mal

"El resultado todavía tiene... líneas de marcador de conflicto; no se puede guardar hasta que se eliminen".

Editaste el resultado a mano y queda una línea como <<<<<<< o >>>>>>>. Elimínelo o resuelva el conflicto con las casillas.

"Este archivo cambió en el disco mientras lo resolvías".

Otro programa escribió en el archivo. GitTree conserva sus opciones anteriores: compárelas con el archivo actual, úselas como resultado o deséchelas.

Preguntas

¿De qué lado es el mío?

Durante una fusión, A es su rama actual y B la rama que se está fusionando; cada encabezado nombra la confirmación y la rama. Durante una rebase, intercambian: A es la rama en la que rebase, B se reproduce su confirmación.