Inicio » Cómo resolver conflictos de fusión (merge conflicts) en Git sin perder código
Web y Código

Cómo resolver conflictos de fusión (merge conflicts) en Git sin perder código

Anuncio Google AdSense (Cabecera) Anuncio Adaptable / Display Ad

El Diagnóstico Rápido

Un conflicto de fusión (merge conflict) en Git ocurre cuando dos personas modifican las mismas líneas de un archivo en ramas diferentes, o cuando una de ellas elimina un archivo que la otra está intentando editar. Al no poder decidir automáticamente qué cambios priorizar, Git detiene el proceso y marca los archivos en conflicto.

La Solución Paso a Paso

Paso 1: Localizar los archivos marcados en conflicto

Al realizar un git merge o git pull fallido, Git te mostrará una lista de archivos marcados. Puedes revisar el estado actual de tus cambios ejecutando:

BASH
git status

(Busca los archivos bajo la etiqueta "Both modified" o "Ambos modificados").

Paso 2: Interpretar los marcadores de conflicto de Git

Abre el archivo en conflicto con tu editor de código. Encontrarás marcas visuales introducidas por Git que separan los cambios de tus ramas:

PLAINTEXT
<<<<<<< HEAD
// Este es tu código local (rama en la que estás posicionado)
const API_URL = "https://local-api.test";
=======
// Este es el código remoto o de la rama que intentas fusionar
const API_URL = "https://production-api.com";
>>>>>>> main
  1. 1

    Paso 1

    Decide qué línea conservar o edita la zona para fusionar ambas ideas.
  2. 2

    Paso 2

    Elimina todas las marcas de conflicto (<<<<<<<, =======, >>>>>>>).
  3. Anuncio Google AdSense (En medio del artículo) Anuncio de Contenido / In-Article Ad

Paso 3: Confirmar la resolución y reanudar la fusión

Una vez corregidos los archivos, agrégalos y culmina la transacción de Git por consola:

BASH
# Agregar los archivos limpios editados
git add nombre-del-archivo.js

# Finalizar la fusión escribiendo un mensaje descriptivo
git commit -m "Resolve merge conflict in api configuration"

(Nota: Si el conflicto es demasiado complejo y deseas regresar al estado original de tus ramas antes de intentar resolverlo, aborta la operación de forma segura escribiendo git merge --abort o git rebase --abort).

Consejo de Prevención

Prácticas de seguridad recomendadas:

  • Adquiere la costumbre de subir tus cambios y realizar integraciones a tu rama principal frecuentemente (git pull origin main). Mantener ramas locales aisladas durante semanas incrementa drásticamente la probabilidad de que las mismas secciones de código sean modificadas por otros colaboradores de tu equipo, complicando la resolución de dependencias lógicas y la integridad de tu código fuente al momento de fusionar.