Saltearse al contenido

Crear y Clonar repositorios

En esta sección veremos como crear repositorios locales, como clonar repositorios remotos y como conectar nuestro repositorio local con un repositorio remoto.

Crear un repositorio local git init

Aunque lo más habitual es utilizar Git con algún servidor donde subir nuestro código (para compartirlo con el mundo, desarrollar con otras personas o simplemente tener una copia en otro lugar seguro), no es algo obligatorio, podemos usarlo para desarrollar de forma organizada en nuestro sistema.

Para ello, lo primero que necesitamos es crear un repositorio. Para crear un repositorio git debemos situarnos en el directorio raíz de éste y ejecutar el comando git init.

mkdir my-repo
cd my-repo
git init

Con este sencillo comando git crea un directorio oculto .git donde guardará toda la información que necesita para gestionar nuestro repositorio.

Desde este momento ya podemos comenzar a hacer commits y utilizar el resto de fucionalidades de git para gestionar nuestro proyecto.

Como ya se ha comentado, Git es un sistema de control de versiones distribuído lo que implica que cada desarrollador o persona que quiera

Clonar un repositorio remoto git clone

En muchas ocasiones queremos empezar a trabajar sobre un código que ya existe en un repositorio remoto (un repositorio que está en la red) como por ejemplo un repositorio de github, o simplemente queremos descargar algún proyecto para utilizarlo o trabajar sobre él, esto es lo que se conoce como clonar un repositorio.

Para clonar un repositorio necesitamos la url del repositorio git (no confundir con la url del cliente web donde podemos ver el código), por ejemplo, imaginemos que queremos clonar el repositorio de esta página (alojada en github) para cambiar una sección o accederla sin conexión. A través de github podemos obtener la url del repo: https://github.com/GonGarce/git-basics.git y para clonarlo usaríamos el comando:

git clone https://github.com/GonGarce/git-basics.git

Este comando creará una copia local del repositorio en la carpeta git-basics, que es el nombre del repositorio que hemos clonado. Si queremos que se clone en un directorio distinto podemos indicarlo a continuación de la url:

git clone https://github.com/GonGarce/git-basics.git my-repo

Al clonar un repositorio no solo descargamos todos los archivos y directorios que contiene, creamos una repositorio local con toda la información del repositorio remoto, es decir, todo su historial de cambios, ramas, etc.

Además en nuestro repositorio local se configura, de forma automática, la url del repositorio que hemos clonado como un repositorio remoto de nuestra copia local. Ahora explicaremos que quiere decir esto.

Añadir repositorios remotos git remote

Hay diversos escenarios que nos pueden plantear la necesidad de tener que añadir un repositorio remoto a un repositorio local existente, el más común que se nos va a plantear será subir nuestro código local a un nuevo repositorio remoto.

Cuando creamos un nuevo repositorio en algún servidor git (ya sea github, gitlab, bitbucke…) tenemos la opción de clonarlo recién creado, vacío, o añadirlo como fuente a nuestro repositorio local para poder subir los cambios que queramos.

Para añadir un nuevo repositorio como fuente a nuestro repo local usaremos el comando git remote. Este comando tiene muchas opciones y nos permite añadir fuentes remotas, eliminarlas, ver la lista de las fuentes configuradas, etc.

git remote add origin https://github.com/GonGarce/git-basics.git

Esto añade el repositorio remoto con el nombre de origin. Podemos darle el nombre que queramos, pero es importante saber que cuando ejecutemos comandos que impliquen a repositorios remotos (subir o descargar cambios, etc.) git utilizará el configurado como origin por defecto si no le indicamos nosotros ninguno; por eso lo más común es usar ese nombre con nuestro repo principal o con el único configurado.

Ver los repositorios remotos

Para ver los repositorios remotos configurados en tu repositorio local, puedes utilizar el comando:

git remote -v
origin git@github-gongarce:GonGarce/Git-Basics.git (fetch)
origin git@github-gongarce:GonGarce/Git-Basics.git (push)

Referencia rápida

Consulta la página de referencia rápida con todos estos comandos resumidos.