🎓Inspirado en el curso de freeCodeCamp Español
Trabajar sin romper nadaLección 11 de 20
☰ Índice del curso← AnteriorSiguiente →

Cuando hay conflictos

La palabra "conflicto" asusta, pero no es ningún drama ni ningún error. Es, simplemente, Git haciéndote una pregunta educada cuando no sabe qué decisión tomar. Y la respuesta la tienes tú.

IMAI

Escucha la lección

0:00 / 0:00

¿Por qué aparece un conflicto?

Casi siempre, al hacer un merge. Imagina que en dos ramas distintas se cambió la misma línea del mismo archivo, pero de formas diferentes. Cuando intentas unirlas, Git se encuentra con dos versiones de esa línea y piensa: "¿con cuál me quedo? No me atrevo a elegir por ti".

Así que hace lo más sensato: se para y te pregunta. Eso es un conflicto. No ha roto nada, no has hecho nada mal — Git solo necesita que tú decidas.

Qué verás

Git te marca el sitio exacto del conflicto dentro del archivo, enseñándote las dos versiones juntas: la tuya y la que viene de la otra rama. Algo así:

<<<<<<< tu versión
Hola, bienvenida a mi web
=======
Hola, te damos la bienvenida
>>>>>>> la otra versión

Esos símbolos raros (<<<, ===, >>>) son solo las marcas que pone Git para enseñarte dónde está el lío. Tu trabajo es decidir qué texto se queda, y borrar el resto (incluidas esas marcas).

Resolverlo es más fácil con un buen editor

Editar esos símbolos a mano es un poco engorroso. Por eso, editores modernos como Visual Studio Code te lo ponen fácil: te muestran el conflicto con unos botones encima de cada versión:

  • Aceptar el cambio actual → me quedo con mi versión.
  • Aceptar el cambio entrante → me quedo con la de la otra rama.
  • Aceptar ambos → quiero las dos, una detrás de otra.

Haces clic en el que quieras y el conflicto desaparece. Después, guardas el archivo y lo confirmas como cualquier cambio: git add y git commit. Y ya está, conflicto resuelto.

Lo importante que te lleves de esta lección: un conflicto no es un fallo tuyo ni de Git. Es una decisión que solo tú puedes tomar, y Git tiene el detalle de preguntártelo en vez de elegir a lo loco. Con eso en la cabeza, dejan de dar miedo.

IMAI

¿No programas? Te lo explico fácil · sin tecnicismos

Imagina un documento compartido donde tú y una amiga estáis escribiendo a la vez.

Las dos editáis la misma frase, pero cada una la deja distinta. Cuando el documento intenta guardar, se encuentra con dos versiones de esa frase y no sabe cuál es la buena. ¿Qué hace? Os pregunta: "oye, aquí hay dos versiones, ¿con cuál me quedo?".

Un conflicto en Git es exactamente eso. Git no es un jefe mandón que elige por su cuenta: es educado y te deja a ti la última palabra. Tú miras las dos versiones, eliges la que prefieres (o las juntas), y listo.

Así que cuando veas la palabra "conflicto", no pienses "se ha roto algo". Piensa "Git me está pidiendo que decida yo". Y decidir, decides tú siempre.

📖

Glosario

Conflicto (merge conflict)

🔧 Técnico

Situación que ocurre al fusionar ramas que modificaron la misma parte de un archivo de forma incompatible. Git no puede decidir automáticamente y requiere intervención manual.

💬 En cristiano

Cuando dos versiones cambian lo mismo y Git no sabe cuál elegir, así que te pregunta a ti.

Resolver un conflicto

🔧 Técnico

Proceso de elegir qué cambios conservar en las zonas en conflicto, eliminar las marcas y confirmar el resultado con un nuevo commit.

💬 En cristiano

Decidir tú qué versión se queda, quitar las marcas raras y guardar. Conflicto solucionado.

Marcas de conflicto (<<< === >>>)

🔧 Técnico

Símbolos que Git inserta en el archivo para delimitar las versiones en conflicto: tu versión, el separador y la versión entrante.

💬 En cristiano

Los símbolos raros que Git pone para enseñarte dónde está el lío y cuáles son las dos versiones.

📚

Fuentes

← AnteriorUnir tu trabajo: mergeSiguiente →El README y Markdown