El trabajo con repositorios es fundamental para nuestros proyectos, es momento de aprender Git rápido y fácil.
Tabla de Contenidos
- ¿Qué es y para que sirve Git?
- ¿Qué diferencias hay entre Git y Github?
- Unos conceptos antes de continuar
- Listo de teoría, a instalar Git
- Programa para trabajar con Git
- Crear un repositorio
- Acceder al cliente de Git
- Clonar un repositorio
- Enviar cambios a un repositorio
- Confirmar que archivos queremos enviar
- Agregar una descripción
- Enviar los cambios, hagamos push
¿Qué es y para que sirve Git?
Git es un sistema que permite mantener organizados los proyectos de desarrollo de software. Está enfocado al trabajo en grupos, aunque también podemos utilizarlo de forma individual.
¿Qué diferencias hay entre Git y Github?
Git es la plataforma dónde se basan el resto de sistemas, podríamos decir que sin Git no existiría Github.
De todas formas no termina allí, hay muchisimos sistemas basados en Git, como el ya mencionado Github, GitLab, Bitbucket. A los cuales podríamos entenderlos como redes sociales de código.
Unos conceptos antes de continuar
Es necesario incorporar algunas palabras antes de seguir con el tutorial, prometo que será breve. Tomaré como ejemplo de aquí en adelante a Gitlab que es lo que yo utilizo, pero aplica igual a cualquier otra plataforma.
Listo de teoría, a instalar Git
- Repositorio: cada uno de los proyectos dentro de Gitlab. También es nuestra carpeta en el servidor.
- Repositorio local: es la versión del repositorio que tenemos en nuestra máquina
- Repositorio remoto: es la versión del repositorio que está compartida a todos los que tengan acceso
- Clonar un repositorio: es tener una copia de un repositorio en nuestra computadora.
Deberemos descargarlo e instalarlo como cualquier otro programa. Te dejo un link para que sigas las instrucciones dependiendo de tu sistema operativo https://git-scm.com/book/es/v1/Empezando-Instalando-Git
Programa para trabajar con Git
Lo siguiente que descargaremos es un cliente para interactuar con nuestros repositorios. Luego explicaré como trabajar con Git desde consola sin programas, pero no quiero seguir sumando conceptos por ahora.
Hay muchos, daré 2 opciones, pero es indistinto cual elijas:
- GitKraken: https://www.gitkraken.com/download
- Github: https://desktop.github.com/
Mi recomendación es GitKraken, lo descargás e instalás como cualquier otro programa.
Crear un repositorio
Ingresar a https://gitlab.com/ si no tenemos cuenta crearla y si ya tenemos una deberemos acceder y hacer click en “Nuevo proyecto”.
En la solapa “Blank project” veremos un formulario.
- Nombre del proyecto: nada que decir…
- Slug del proyecto: es la URL amigable dentro de Gitlab, se genera automáticamente al escribir el nombre del proyecto. Podemos cambiarla si queremos.
- Descripción del proyecto (opcional): nada que decir…
- Visibilidad: quién podrá acceder a nuestro repositorio. Dependerá de la plataforma ya que algunas cobran para tener repositorios privados (Gitlab no), pero para las primeras pruebas pongamos Público sin miedo.
- “Inicializar con un README”: crea un archivo por defecto que luego podremos modificar y/o eliminar. Recomiendo tildar esta opción.
Listo, repositorio creado. Qué fácil no? Sigamos.
Acceder al cliente de Git
Abrimos nuestro cliente de Git, en mi ejemplo lo haré con GitKraken. Lo primero es ingresar con nuestra cuenta de GitLab, para eso ir a “File > Preferences”, click en la solapa Gitlab.com y un click más en Conectarse.
Nos llevará a la web de GitLab a la que deberemos acceder con nuestras credenciales y conceder acceso a GitKraken. Una vez que lo hagamos volvemos al programa y deberíamos estar conectados.
Clonar un repositorio
Esto aplica tanto para el repositorio que acabamos de crear, como para cualquier otro al que tengamos acceso.
Deberemos acceder a la URL del repositorio y sobre la esquina superior derecha veremos un botón que dice clonar. Al clickearlo copiar la URL que aparece dónde dice “Clonar con HTTPS”.
Volvemos a GitKraken y accedemos a “File > Clone repo”, se nos abrirá la siguiente ventana. Click en “Clone”, elegimos “Clone with URL” y deberemos configurar lo que aparece en la ventana del lado derecho.
- Where to clone to: ruta donde clonaremos, hacer click en Browse, navegar hasta la carpeta y seleccionar. Recomiendo que sea en la ruta base de su instalación de servidor local (XAMPP, WAMP, etc).
- URL: pegamos la URL del repositorio.
Enviar cambios a un repositorio
En este punto ya tenemos una carpeta en nuestra PC con el repositorio listo para trabajar, deberemos abrir dicha carpeta en nuestro editor, yo uso Visual Studio Code.
Si hicimos click en “Inicializar con un README” cuando creamos el repositorio, veremos dicho archivo. A partir de ahora, cualquier cambio que hagamos podremos enviarlo a GitLab cuando nosotros consideremos necesario, por ejemplo al haber terminado de desarrollar alguna funcionalidad.
Para el ejemplo voy a modificar el archivo README y voy a agregar un archivo .php Al hacer eso ya se pueden ver los cambios en GitKraken debajo del panel “Unstaged Files”, todos los cambios detectados se visualizarán allí.
Sólo quedan 3 pasos más para enviar los cambios al repositorio.
Confirmar que archivos queremos enviar
Es posible hacer envíos parciales, es decir, elegir un grupo de cambios y enviarlos, luego enviar otros. En nuestro caso enviaremos todos los cambios, eso se hace con el botón “Stage all changes”.
Agregar una descripción
Lo siguiente agregar una descripción. Puede parecer algo no necesario, pero es importante que sea descriptivo de que estamos enviando, no poner por ejemplo “cambios”. Ya que cuando vayamos trabajando tendremos muchos cambios y no sabremos encontrar uno específico.
Luego de escribir el mensaje se nos habilita el botón “Commit”, hacemos click en él.
Enviar los cambios, hagamos push
Es un sólo click, esto lo que hará es enviar todo lo que hicimos al repositorio. Luego de que terminemos, si ingresamos en la web de GitLab podremos verlo allí.
Puede parecer mucho, pero te aseguro que no es complicado. Con que hagas el proceso unas veces ya habrás afianzado estos conocimientos.