🔧 Programmierung 🕛 vor 2 Jahren 4 Min Lesezeit
0

Resolver Conflictos de Fusión de Ramas Usando la Terminal y `vi`

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht




Introducción



En este tutorial, aprenderás cómo resolver conflictos de fusión de ramas en Git utilizando solo la terminal y el editor vi. Supongamos que tienes un repositorio con dos ramas (main y rama1) y que al intentar fusionar rama1 en main, se produce un conflicto en un archivo llamado archivo.txt.






Paso 1: Simular el Escenario de Conflicto



Supongamos que el contenido inicial de archivo.txt es el siguiente:




CODE
Línea 1






En la rama main, archivo.txt se ha modificado a:




CODE
Línea 1
Línea 2 desde main






En la rama rama1, archivo.txt se ha modificado a:




CODE
Línea 1
Línea 2 desde rama1







  1. Abre el terminal y navega a tu repositorio.




CODE
   cd ruta/a/tu/repositorio







  1. Intenta fusionar rama1 en main.




CODE
   git checkout main
git merge rama1






Verás un mensaje de conflicto, algo como esto:




CODE
   CONFLICT (content): Merge conflict in archivo.txt
Automatic merge failed; fix conflicts and then commit the result.









Paso 2: Abrir el Archivo con Conflicto en vi




  1. Abre el archivo conflictivo usando vi.




CODE
   vi archivo.txt







  1. En vi, verás las líneas conflictivas marcadas así:




CODE
   <<<<<<< HEAD
Línea 2 desde main
=======
Línea 2 desde rama1
>>>>>>> rama1






Aquí, HEAD representa los cambios en la rama actual (main), y rama1 representa los cambios traídos desde rama1.






Paso 3: Resolver el Conflicto






Opciones para Resolver el Conflicto



A continuación, se plantean 3 opciones que se pueden escoger para resolver el conflicto.



Opción 1. Mantener los cambios actuales (HEAD):





  • Si decides que los cambios en main deben prevalecer, elimina las líneas entre ======= y >>>>>>> rama1, así como las marcas de conflicto.


    CODE
     <<<<<<< HEAD
    Línea 2 desde main
    =======
    >>>>>>> rama1




  • Resultado final del archivo:


    CODE
     Línea 1
    Línea 2 desde main




  • En vi:




    • Presiona i para entrar en modo de inserción.

    • Edita el archivo para eliminar las líneas innecesarias.

    • Presiona Esc para salir del modo de inserción.

    • Escribe :wq y presiona Enter para guardar y salir.








Opción 2. Aceptar los cambios entrantes (rama1):





  • Si decides que los cambios en rama1 deben prevalecer, elimina las líneas entre <<<<<<< HEAD y =======, así como las marcas de conflicto.


    CODE
     <<<<<<< HEAD
    =======
    Línea 2 desde rama1
    >>>>>>> rama1




  • Resultado final del archivo:


    CODE
     Línea 1
    Línea 2 desde rama1




  • En vi:




    • Presiona i para entrar en modo de inserción.

    • Edita el archivo para eliminar las líneas innecesarias.

    • Presiona Esc para salir del modo de inserción.

    • Escribe :wq y presiona Enter para guardar y salir.








Opción 3. Combinar ambos cambios:





  • Si deseas combinar ambos cambios, edita el archivo para incluir ambos conjuntos de cambios de forma coherente.


    CODE
     <<<<<<< HEAD
    Línea 2 desde main
    =======
    Línea 2 desde rama1
    >>>>>>> rama1




  • Resultado final del archivo:


    CODE
     Línea 1
    Línea 2 desde main
    Línea 2 desde rama1




  • En vi:




    • Presiona i para entrar en modo de inserción.

    • Edita el archivo para combinar los cambios:



    CODE
       Línea 1
    Línea 2 desde main
    Línea 2 desde rama1





    • Presiona Esc para salir del modo de inserción.

    • Escribe :wq y presiona Enter para guardar y salir.











Paso 4: Confirmar la Fusión




  1. Después de resolver los conflictos, añade el archivo al índice:




CODE
   git add archivo.txt







  1. Finaliza la fusión con un commit:




CODE
   git commit -m "Resolver conflictos de fusión entre main y rama1"









Paso 5: Verificar la Fusión




  1. Verifica el historial de commits para asegurar que la fusión se completó correctamente:




CODE
   git log --oneline






Deberías ver un commit de fusión en el historial.






Resumen



Este tutorial te muestra cómo resolver conflictos de fusión de ramas utilizando la terminal y el editor vi. Aquí tienes los pasos clave:




  • Identificar y abrir el archivo con conflictos.

  • Usar vi para editar y resolver los conflictos, eligiendo mantener los cambios actuales, aceptar los cambios entrantes o combinar ambos, mostrando claramente cómo debería quedar el archivo en cada caso.

  • Añadir el archivo resuelto al índice.

  • Confirmar la fusión.



Resolver conflictos de esta manera puede parecer intimidante al principio, pero es una habilidad valiosa que te ayudará a manejar el control de versiones de manera más eficiente. ¡Buena suerte!

Vollständiger Original-Artikel
Den kompletten Beitrag mit allen Details direkt auf dev.to lesen.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
6 Quellen
CVE-2022-44255 | TOTOLINK LR350 9.3.5u.6369_B20220309 buffer overflow (EUVD-2022-47204)
2 Quellen
CVE-2026-68426 | Linux Kernel up to 6.18.41/7.1.5/7.2-rc3 xfrm validate_xmit_skb_list use after free (Nessus ID 346426)
1 Quelle
Windows 11 Probleme mit gültiger Domänenanmeldung nach September-Update [Workaround]
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Resolver Conflictos de Fusión de Ramas Usando la Terminal y `vi`

Thematisch verwandte Begriffe: Resolver, Conflictos, Fusión, Ramas · 6 Treffer

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...