header_lecciones_v5

Cómo crear un repositorio remoto de GIT

por Ricardo Caicedo, el 27 de septiembre de 2016

Qué es un repositorio remoto de GIT

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.

Nuevo llamado a la acción
Topics:Desarrollo de software
 
 

Comentarios

La academia

Encuentra aquí todo nuestro banco de conocimiento. Tutoriales, lecciones y cursos.

 
Temas:Desarrollo de Software

Lecciones Pragma

Lecciones en Academia Pragma

Aquí encontrarás tutoriales técnicos para que apliques en temas de desarrollo de software, cloud, calidad en software y aplicaciones móviles. 

También puedes visitar nuestro Blog con contenido actual sobre Transformación Digital, Marketing, Conocimiento de Usuario y más. 

Blog

Suscríbete a la academia

Descarga la Guía para trabajar con ambientes IBM Websphere Portal