Cómo crear un repositorio remoto de GIT
por Ricardo Caicedo, el 27 de septiembre de 2016
En el capítulo anterior, hicimos mención al archivo .gitignore, a conceptos como add, checkout, stash y tags. En esta entrega vamos a echar un vistazo al concepto de repositorio remoto.
En la teoría, al usar un sistema de versionamiento en nuestra máquina local, estamos cumpliendo con la tarea de organizar nuestro avance e historia de desarrollo. Pero, ¿qué pasaría si nuestra máquina sufre algún daño y el sistema de archivos se pierde?
Este y otro sinfín de problemas se resuelven teniendo un repositorio remoto, en un servidor, en el cual se mantiene la copia “original” de nuestro desarrollo y convierte los archivos de nuestra máquina en una copia temporal para hacer modificaciones y posteriormente actualizar el repositorio remoto.
Un repositorio remoto de Git puede estar alojado en servidores propios o se pueden usar servicios de administración de repositorios como Github, Bitbucket o Gitlab para alojar nuestros proyectos sin necesidad de contar con un servidor propio para ello.
Usar un administrador de repositorios como los mencionados anteriormente nos da además una serie de herramientas para revisión de código, manejo de incidencias, wikies, code snippets, integración con herramientas de seguimiento a proyectos e integración continua.
Cómo asociar un repositorio local a uno remoto
Particularmente, para asociar un repositorio local (creado con el comando git init) a uno remoto, se debe ejecutar el siguiente comando: git remote add [nombrecorto] [url]
Con esto le estamos diciendo a nuestro repositorio local de Git que agregue una referencia a un repositorio remoto que se llama nombrecorto alojado en la URL especificada. Por defecto, el nombre usado para los repositorios remotos es origin:
git remote add origin https://myrepos.example.com/repo1
En este momento, podemos actualizar nuestro repositorio local con la información contenida en el repositorio remoto.
Ver información de remotos actuales
Para poder saber si nuestro repositorio local tiene asociaciones con repositorios remotos, ejecutamos el comando git remote lo que nos dará un listado de los nombres de los remotos que tenemos asociados:
Si queremos obtener más información acerca de los remotos asociados, ejecutamos el comando git remote -v lo que dará como resultado un listado con más información acerca de los remotos asociados:
Si queremos obtener información acerca de uno de los remotos, ejecutamos el comando git remote show [nombre-remoto] lo que nos dará una información complementaria:
- $ git remote show origin
- * remote origin
- Fetch URL: https://myrepos.example.com/repo1
- Push URL: https://myrepos.example.com/repo1
- HEAD branch: master
- Remote branches:
- Master tracked
- Local branch configured for 'git pull':
- Master merges with remote master
- Local ref configured for 'git push':
- Master pushes to master (up to date)
Actualizar el repositorio local con los cambios del remoto
Para actualizar nuestro repositorio local con la información del servidor remoto, usamos los comandos git fetch [nombre-remoto] o git pull [nombre-remoto] así:
git fetch origin o git pull origin
El comando git fetch origin actualizará el repositorio local con los cambios que se tienen en el repositorio remoto. Es importante mencionar que este comando NO modifica los archivos en el working copy, es decir, sólo actualiza el repositorio local sin tocar los archivos del sistema operativo sobre los que estamos trabajando. Para que estos cambios se hagan efectivos sobre nuestros archivos en el working copy, debemos ejecutar el comando git merge.
El comando git pull origin tiene el mismo efecto que git fetch origin, pero adicionalmente ejecuta el comando git merge. Esto quiere decir, que los cambios SÍ son aplicados al working copy.
Actualizar repositorio remoto con nuestros cambios
Después de haber realizado cambios en nuestros archivos y seguir los pasos mencionados en los capítulos anteriores (git add y git commit), tenemos que actualizar el repositorio remoto con nuestros cambios. Para esto, usamos el comando git push [nombre-remote] [nombre-rama] así: git push origin master
Con este comando le estamos pidiendo a Git que empuje los cambios acumulados en los commits hechos hasta el momento, al repositorio remoto llamado origin dentro de la ramamaster. También es importante notar que debemos tener permiso de escritura en el servidor de Git (o permisos para realizar push si usamos un administrador de repositorios como los mencionados antes).
Si alguien más ha actualizado el repositorio remoto, entre el tiempo que nosotros nos actualizamos y el momento en el que hacemos push, este comando será rechazado y tendremos que actualizar nuestro repositorio local nuevamente (como se habrán imaginado, por medio de un git fetch y git merge) antes de poder ejecutar un push.
Eliminar la referencia a un repositorio remoto
Si queremos que nuestro repositorio local deje de hacer referencia a un repositorio remoto específico, debemos ejecutar el comando git remote rm [nombre-remoto] así: git remote rm origin
En este capítulo abordamos algunos temas básicos con respecto a los repositorios remotos. En el siguiente capítulo tendremos el manejo de ramas en Git y algo de merge entre ellas.
Comentarios
La academia
Encuentra aquí todo nuestro banco de conocimiento. Tutoriales, lecciones y cursos.