[MÚSICA] [MÚSICA] Hola de nuevo. En este video veremos la utilización de repositorios remotos. Al finalizar, entenderemos la diferencia entre un repositorio remoto y un repositorio local. Podremos crear y clonar un repositorio remoto, enviar cambios a éste desde el repositorio local y finalmente actualizar el repositorio local con los cambios que otros hagan al repositorio remoto. you vimos cómo crear y usar repositorios locales en git. Veamos ahora, cómo utilizar repositorios remotos. Un repositorio remoto es un repositorio que no se encuentra en la máquina local sino que está ubicado en un servidor, you sea en una red local o en internet. Estos repositorios son básicos, no tienen zona de trabajo ni zona de preparación. Los repositorios remotos nos permiten colaborar con otros porque pueden ser compartidos por varios desarrolladores. Cuando se usan repositorios remotos, cada desarrollador tiene una copia del repositorio en su máquina local. Todos los cambios ocurren en los repositorios locales y se sincronizan con el repositorio remoto. Lo primero que debemos hacer para usar un repositorio remoto es, crearlo en el servidor. Para agregar archivos a este repositorio, debemos primero obtener una copia en la máquina local. Para esto se utiliza el comando clonar. Al clonar el repositorio, se crea la copia local y se inicializan tres zonas de trabajo. Para agregar los archivos se hace primero en el espacio local. Adicionamos los archivos usando el comando add y los pasamos al repositorio local utilizando el comando commit. Estos cambios se envÃan al repositorio remoto utilizando el comando push. Cuando otros desarrolladores necesiten usar el repositorio, deben obtener sus propias copias locales, utilizando el comando clonar. Los cuatro desarrolladores pueden mantenerse ahora sincronizados con el mismo repositorio remoto. Cuando un desarrollador cambia o agrega un archivo en su repositorio local y lo envÃa al repositorio remoto, los demás no tendrán el cambio en su repositorios. Para sincronizar |os cambios, deben utilizar el comando pull. Como you mencionamos, un repositorio remoto se localiza en un servidor. Podemos instalar el servidor en nuestra estructura o utilizar un servicio de alojamiento en la nube. Estos servicios además, de permitirnos alojar nuestros repositorios de forma pública o privada, nos ofrecen otros servicios adicionales por ejemplo, para revisar y aceptar cambios, realizar seguimiento de errores y solicitudes, integrarse con sistemas de integración continua y de despliegue continuo y para gestionar los equipos, entre otras. En este curso vamos a utilizar GitHub que es uno de los más populares. Otros servicios de alojamiento son Bitbucket, GitLab o CloudForge. Si todavÃa no tiene una cuenta en GitHub, es un buen momento para crearla. Estudiemos en detalle las operaciones entre repositorios remotos y repositorios locales. Comencemos creando nuestro repositorio público en GitHub. Este será el repositorio que utilizaremos para el ejercicio. GitHub nos provee de información para conectarnos al repositorio con diferentes protocolos. Por ejemplo, nos da una URL para conectarnos usando HTTPS. Con esta URL podemos usar el comando clon para obtener una copia local del repositorio. El comando git remote con la opción -v, nos muestra la localización del repositorio remoto al cual está conectado el repositorio local. Como vemos, el nombre que le da es origin. Si queremos colocar un nombre diferente al repositorio, el comando remote con la opción rename nos permite hacerlo. Y si consultamos nuevamente la localización del repositorio, ahora se llama, repo_remoto. Como you sabemos, con el comando add y con el comando commit agregamos archivos al repositorio local. El comando push envÃa estos cambios al repositorio remoto. Al ejecutarse el comando, nos da información sobre lo que se envió, en donde lo agregó y en este caso, se agregó de la rama master del repositorio local a la rama master del repositorio remoto. En los próximos videos introduciremos el concepto de ramas. Por ahora, como sólo tenemos una, podemos decir que pasamos del repositorio local al repositorio remoto. Con el comando pull, los otros desarrolladores pueden actualizar los cambios en sus repositorios locales. Al ejecutar el comando, nos da información sobre lo que se envió del repositorio que se está actualizando y en donde lo está ubicando en el repositorio local. En este caso, el repositorio local estaba vacÃo y por esto nos indica que ha creado una rama master en el repositorio local y que quedó asociada a la rama master del repositorio origen. Supongamos ahora que el desarrollador 2 cambió el archivo readme.txt incluyendo una lÃnea que dice holamundo y actualizó el repositorio remoto. ¿Cómo hace el desarrollador 1 para saber de este cambio? El comando diff permite identificar diferencias entre el repositorio local y el repositorio remoto. En este comando debemos especificar las ramas que queremos comparar. AquÃ, el desarrollador 1 está comparando la rama master de su copia local con la rama master del repositorio remoto. Al ejecutar el comando, indica que está comparando el archivo readme.txt a, del repositorio local con el archivo readme.txt b, del repositorio remoto. Y además nos dice que se ha agregado la lÃnea, hola mundo. En el tutorial, cómo leer el resultado de un diff, podrá estudiar en detalle el comando diff. Hasta aquÃ, hemos aprendido a crear un repositorio remoto, a clonar el repositorio en uno local, a enviar cambios, a actualizar cambios realizados por otros y a consultar las diferencias entre el repositorio local y el remoto. Por ahora, solo hemos visto ejemplos de cambios secuenciales al repositorio, pero en la realidad, los equipos que comparten un repositorio pueden realizar cambios sobre un mismo archivo, al mismo tiempo. En estas circunstancias, al actualizar el repositorio, uno de los desarrolladores puede tener un conflicto. Veamos en el siguiente video, cómo se resuelven estos conflictos en Git. [MÚSICA] [MÚSICA] [MÚSICA] [MÚSICA] [MÚSICA] [MÚSICA]