GitHub para programadores

Solucionar conflictos en GitHub

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
Los conflictos en un repositorio aparecen cuando se sigue un orden incorrecto en el flujo de trabajo. Estos conflictos no deberían ocurrir de forma muy seguida, pero siempre es bueno que sepas cómo solucionarlos.
07:05

Transcripción

Usualmente cuando utilizamos Git dentro de nuestro código vamos a tener muy pocos problemas para fusionar nuestro código y nuestros cambios con los de otros desarrolladores o nuestras siguientes versiones. Sin embargo, en algunos casos particulares vamos a tener problemas a la hora de unir dos códigos. Esto sucede generalmente cuando nosotros, dentro del servidor local, dentro de nuestro repositorio local, hacemos cambios y tratamos de unirlo, y dentro del repositorio que se encuentra en GitHub tenemos cambios más antiguos. Usualmente para prevenir eso lo que tenemos que hacer siempre es sincronizar nuestro repositorio antes de comenzar a trabajar. Sin embargo, yo voy a forzar en este caso un error para que podamos ver cómo solucionarlos. Acá yo estoy dentro de un repositorio de GitHub y voy a hacer un par de cambios. Voy a entrar a este archivo llamado 'index.html', voy a editarlo acá en línea, vamos a poner acá un pequeño cambio y lo voy a guardar. Listo. Y voy a modificar también este archivo que se llama 'branch.txt' Vamos a cambiarle por 'branch 2' el texto. Listo. Ahora estos cambios ya se encuentran dentro del repositorio, y en teoría son la última versión que nosotros tenemos del código. Por otro lado, yo tengo acá mi repositorio local. Mi repositorio local no lo voy a actualizar, lo que voy a hacer es que voy a modificar los datos. Esto no es la práctica correcta, pero lo voy a hacer para que se genere un error. Yo voy a modificar los datos de los dos archivos que acabo de cambiar. Teníamos 'branch.txt' e 'index.html'. Acá vamos a poner también un pequeño cambio, vamos a guardar, volvemos a 'branch' y le vamos a poner 'branch 3'. Listo. Ahora la versión que tienen estos dos archivos tiene cambios que no están registrados dentro del repositorio. Por ejemplo, en este caso esta versión de este archivo no es compatible con la última versión del repositorio, así que posiblemente me dé un error. Vamos a probar cómo se ve ese error, y lo que voy a hacer es que estos dos cambios que tenemos acá, sin hacer ningún "commit" ni hacer ningún cambio, voy a tratar de sincronizar directamente. Lo ideal sería que yo haga un "commit" y que luego trate de entronizar. Pero como lo estoy haciendo incorrectamente ahora, me van a aparecer conflictos. Vamos a revisar qué pasó. Tenemos entonces justamente que hay errores dentro de 'branch.txt' y dentro 'index.txt'. El error –vamos a verlo en el código– es que te van a aparecer estas marcas de texto. Muchas personas entran en pánico cuando ven estas marcas de texto y dejan de utilizar Git solamente por esto, pero es bastante fácil de solucionar. Tenemos dos opciones para arreglar este error. El primero es tal vez el más simple, el más básico y es que, en el caso de que los cambios que hayamos hecho nosotros no apliquen. Puede ser que, por ejemplo, hayas puesto –suponiendo que estás haciendo una página web o una aplicación–, que hayas puesto un botón y de pronto otra persona, o se hizo algún cambio, y ese botón ya está implementado. Entonces te va a dar un error. En ese caso, ya que el botón está implementado, lo hicieron dos personas, no queda más que eliminar tus cambios. Para eliminar los cambios que tenemos locales, hacemos clic sobre el archivo que queremos solucionar, en este caso, solucionar el error. Hacemos clic derecho y vamos a ver que tenemos varias opciones. Tenemos una opción que se llama Discard changes. Eso significa que descartemos los cambios locales, los cambios que yo acabo de poner dentro de mi repositorio local. Entonces pongo acá Discard changes y lo que va a pasar –vamos a entrar otra vez al código– es que entonces Git va a tomar la versión que se encuentra dentro del repositorio de GitHub, que en teoría es la versión oficial, la última versión registrada del código, y la va a desplegar acá. Tenemos entonces el texto que yo puse dentro de GitHub. Eso en caso de yo quiera desechar los cambios. Vamos a ver la otra opción. Entramos acá, a 'index.html', y vemos que tenemos este código acá, donde nos aparecen estas etiquetas. Bueno, básicamente estas etiquetas nos están mostrando esto. Cuando vemos este código, nos dice que esta es la versión que se encuentra en línea, y comienza desde acá y termina hasta donde aparecen varios signos de igual. después de esto vamos a ver, inmediatamente después, todo el bloque que se encuentra local. Entonces vamos a ver que podemos comparar entre la versión que se encuentra del repositorio oficial, del 'master' que se encuentran GitHub, y la versión que se encuentra local. Supongamos que yo quiero en este caso conservar mis cambios. Simplemente busco dónde está el signo de igual y selecciono hasta llegar a, me parece, esta versión, que aparecen estos símbolos acá. Vamos a borrarlo. Listo. Y buscamos también dónde acaba. En todos los casos vamos a ver estos símbolos, así que siempre vamos a buscar acá dónde acaba ese bloque. Y listo, ya tenemos nuestro código bien hecho, sin errores. Y vamos a proceder a hacer un "commit" del cambio. Vamos a ver el texto que se encuentra "online". Ya están sincronizadas y podemos ver exactamente lo mismo. Esa es la forma en que podemos solucionar los errores. Sin embargo, es importante notar que la idea es que siempre, antes de ponerte a trabajar para evitar que sucedan estos conflictos, siempre sincronices tu repositorio para saber que tienes la última versión disponible.

GitHub para programadores

Aprende conceptos de GitHub como crear, gestionar y examinar nuestros repositorios online. Descubre las funciones más comunes y el servicio que te ofrece GitHub.

1:53 horas (26 Videos)
Actualmente no hay comentarios.

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.