IIC2233 / Syllabus-2023-2

78 stars 13 forks source link

Problema haciendo git pull en repositorio syllabus: Divergent Branches #391

Open MathiasPrett opened 7 months ago

MathiasPrett commented 7 months ago

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

Divergent Branches

Hola! Tuve un problema recién con git. Resulta que hice git pull en el repositorio de syllabus y me salió esto en consola:


root@LAPTOP-0CE93QFO:/mnt/c/Users/mathi/OneDrive/Escritorio/PUC/2023/2023-2/Programacion-Avanzada/Syllabus# git pull remote: Enumerating objects: 6, done. remote: Counting objects: 100% (6/6), done. remote: Compressing objects: 100% (3/3), done. remote: Total 4 (delta 1), reused 4 (delta 1), pack-reused 0 Unpacking objects: 100% (4/4), 57.38 KiB | 264.00 KiB/s, done. From https://github.com/IIC2233/Syllabus 64596fd..5f45452 main -> origin/main hint: You have divergent branches and need to specify how to reconcile them. hint: You can do so by running one of the following commands sometime before hint: your next pull: hint: hint: git config pull.rebase false # merge hint: git config pull.rebase true # rebase hint: git config pull.ff only # fast-forward only hint: hint: You can replace "git config" with "git config --global" to set a default hint: preference for all repositories. You can also pass --rebase, --no-rebase, hint: or --ff-only on the command line to override the configured default per hint: invocation. fatal: Need to specify how to reconcile divergent branches.


De lo que pude averiguar, se trata de dos commits distintos, pero no logro entender la diferencia de las alternativas que me da git para solucionar este problema. No estoy seguro, pero puede deberse a que accidentalmente edite una actividad desde el syllabus porque se me había olvidado copiarla a mi propio repositorio.

Cual es la mejor solución para este caso?? Además, como dice ser una configuración que aplica también para mis demás repositorios, parece ser importante. No me atrevo a hacer nada sin preguntar primero, por miedo de dejar la c#g#d# porque tengo malas experiencias usando git jaja.

Gracias de antemano!

capy

Hernan4444 commented 7 months ago

Hola @MathiasPrett

Cómo indicas, el problema fue tener 2 commits con conflicto (el que hiciste desde tu computador) y los commits que están en la nube del syllabus.

Para efectos de este curso, lo mejor que recomandemos es clonar nuevamente el syllabus en otra carpeta y eliminar la carpeta donde tienes el conflicto, luego recordar siempre que el syllabus no hay que hacer editarlo para evitar dichos conflictos. O bien, si lo editas, hacer git stash para guardar tus cambios, git pull para descargar las nuevas cosas y finalmente git stash pop para recuperar tus cambios. Aunque dependiendo de los archivos editados, eso tambien puede salir un poquito mal. Así que mejor usar el syllabus solo como fuente para descargar archivos y cualquier edición, hacerla fuera del syllabus.

En los siguientes cursos de computación irán aprendiendo más sobre git, el uso de branch y cómo enfrenar los "conflictos".

Saludosヾ(^-^)ノ

MathiasPrett commented 7 months ago

@Hernan4444 Perfecto, entiendo. Muchas gracias!