Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

[Proyecto] Resolución de conflicto - Desafio: Hora de practicar. No me alcanzó el espacio

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad Desafío 1: Crea un nuevo repositorio local. Creé 2 carpetas físicas en Datos (D:) PC. Creé 2 carpetas y ejecuté git clone en cada una. Ahora, dentro de Oficina_A hay una carpeta llamada PracticaConflictos con el archivo README.md. B. Adentro de Oficina_B hay lo mismo que la carpeta Oficina_A
Desafío 2: Conecté esa carpeta con el internet de GitHub (Añadió el remoto) (En la web): En GitHub: Creé el repositorio remoto PracticaConflictos con su archivo README.md de texto.
Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
Desafío 3: Realiza un cambio en el repositorio local y envíalo al remoto.

  1. Abrí el archivo desde VS Code
  2. Busqué en el disco D: la carpeta Oficina_A, dentro seleccione la carpeta PracticaConflictos .
  3. Se ve el archivo README.md, hago click.
  4. Cambio deseado: En la hoja en blanco del README escribí una oración simple "Este es el primer cambio hecho por la Oficina A".
  5. Guardé el archivo presionando las teclas Ctrl + S
  6. Click a la izquierda en el ícono de Source Control:
  7. Donde dice Message, escribí el texto del commit:
    Cambio en el repositorio local
  8. Click en el botón Commit, eso equivale a hacer de forma limpia y automática:
    a. git add .
    b. git commit -m
  9. Enviar los cambios al remoto: Una vez hecho el commit se realiza Click en Sync Changes (Sincronizar cambios)
    a. git pull ( descarga los cambios que puedan existir en GitHub para asegurarse de que tu computadora está actualizada).
    b. git push (sube los commits locales hacia el servidor en internet).
  • Abrí la Oficina_B en VS Code e hice lo mismo que en Oficina_A hasta el punto 8
  • Provocar el conflicto. La Oficina_A subió su cambio a GitHub. La Oficina_B intenta modificar la misma línea y trata de subirla forzando el choque de versiones.
    a. git add .
    b. git commit -m
  • Abrí el disco D:\Oficina_B\PracticaConflictos. Accedí al terminal.
    a. git log en Oficina_A, y Oficina_B, se ven los commits
    b. git push origin main en Oficina_A, y Oficina_B, al intentar subir los cambios se ve el conflicto en Oficina_B. El servidor de GitHub rechazó el comando arrojando el error [rejected] (fetch first), debido a que el repositorio remoto contiene trabajo que no está en el local.
    Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
    Desafío 4: Resuelve los conflictos manualmente, eligiendo qué cambios se mantendrán.
  1. En la terminal de la Oficina_B, ejecuté git pull origin main para descargar los cambios del repositorio remoto.
  2. Resultado: Git detectó que la Oficina_A y la Oficina_B modificaron la misma línea del archivo README.md. El sistema arrojó el mensaje de error: CONFLICT (content): Merge conflict in README.md, deteniendo la fusión automática (Automatic merge failed)
  3. Utilicé VS Code Merge Editor: Abrí la carpeta de la Oficina_B (PracticaConflictos). Usé el archivo README.md y lo abrí con VS Code.
  4. Click sobre el archivo README.md Al abrir la hoja en el centro, el texto se mostrará dividido con las líneas de colores del conflicto. Click en el botón que dice Resolve in Merge Editor. La pantalla se divida en los tres paneles (Current, Incoming y Result)
    a. Elegir si queda el cambio A o el B
    b. Para la Oficina B, click en Accept Current (Aceptar actual). Para la Oficina A, click en Accept Incoming (Aceptar entrante).
    c. Click en el botón Complete Merge (Completar fusión)
    Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
    Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
Desafío 5 Realiza un commit para registrar la resolución del conflicto. (Completados por la interfaz) Al presionar “Continue” en Source Control el commit de cierrese generó automaticamente. (Conflict resolved)
Desafio 6 Verifica qué archivos fueron añadidos.(Completados por la interfaz) verificó los archivos añadidos, dejando el entorno local unificado.
Desafío 7: Sincroniza el repositorio local con el remoto en GitHub: Click en el botón Sync Changes desde el Source Control de VS Code para ejecutar la secuencia automática de git pull y git push.

3 respuestas
solución!

Hola, Noelia! ¿Cómo vas?
Gracias por compartir tus reflexiones y aprendizajes con la comunidad Alura.

Me gustó mucho el detalle con el que registraste cada paso del desafío. Tu explicación muestra que comprendiste bien el flujo de trabajo con Git, desde el clone, el commit y el push, hasta la aparición del conflicto y su resolución en el Merge Editor de VS Code. También fue muy positivo que identificaras el mensaje [rejected] (fetch first), porque indica que el repositorio remoto tenía cambios que tu copia local aún no tenía.

Como consejo, cuando trabajes con más de una copia del mismo repositorio, haz siempre un git pull origin main antes de editar y subir cambios; así reduces choques innecesarios y mantienes tu entorno actualizado. Muy buen trabajo al completar el proceso de resolución y sincronización. ¿Te resultó más claro resolver el conflicto desde el Merge Editor que hacerlo directamente editando el archivo README.md?

Cuenta con el apoyo del foro en tu viaje. Saludos y buenos estudios!

Hola Lorena, Voy lento y contento, pero todo bien ¿Que tal vos?

Gracias por el consejo,

Suelo usa Sync Changes que hace el git push y el git pull, pero algunas partes de mi proyecto son manuales

No lo hago a propósito pero siempre olvido el git pull. Lo tomaré en cuenta
saludos

Gracias Noelia Julieta Villalba, estaba como medio perdido con la instruccion del "instructor" ya que decía agrega el repositorio con git remote add pero no me llegaban los archivos al local, y antes de volver a revisar los videos o apuntes quise mirár aca y tu lo tenias tal cual , como corresponde ** git clone: URL repositorio ** , sigo avanzando, también lento pero seguro, muchas gracias.