Fundamentos de Git
2.1) ¿Qué es Git?
Es un software de control de versiones, es decir, un software que nos permite llevar un registro de todos los cambios y avances del proyecto.
📌 ️ — Git funciona como una especie de máquina del tiempo que nos permite viajar a distintos puntos tanto del pasado como del presente de nuestro proyecto.
2.2) Historia de Git
Creado por Linus Torvalds (el que también es conocido por ser el “padre” del kernel del sistema operativo Linux) en 2007.
¿Qué es un repositorio de Git?
Un repositorio (también conocido como repo) es el mecanismo que nos proporciona GIT con la finalidad de poder guardar las distintas versiones de código de forma segura y ordenada.
Vamos a ver un ejemplo “real” visto muy por encima para entenderlo mejor. Para ello, creamos un repositorio hemos realizado el primer commit (subida al repostorio) de la primera versión de los ficheros A, B y C. Posteriormente, realizamos cambios y volvemos a hacer otro commit en la versión 2 de los ficheros A y C. Si os fijáis, en esta versión 2, el fichero B no cambia. Por tanto, ya tenemos dos puntos/estados distintos de nuestro proyecto almacenados en nuestro repositorio.
📌 La finalidad de tener varias backups (copias de seguridad) de distintos puntos del proyecto es la de posteriormente poder desplazarnos en ellos. Para poder recuperar un código que al final si que necesitamos, revertir cambios, etc.
2.3) ¿Por qué nace Git?
Para poder tener un repositorio en el que controlar todos los cambios por versiones evitando el tener que muchas copias de carpetas o de directorios y no teniendo que hacer cosas como estas:
2.4) Instalando Git
Para instalar Git, vamos a la web https://git-scm.com/ y hacemos clic sobre descargar:
Una vez descargado realizamos la instalación con el tradicional siguiente, siguiente… Hasta llegado a la ventana de checks en la que marcamos lo siguiente:
Y al resto continuáis con siguiente, siguiente, siguiente y finalmente, pulsáis sobre instalar y finalizar.
Para abrir GIT vamos a Inicio y buscamos Git Bash (Terminal):
Una vez abierto, podemos ver que se nos abre una terminal en la que podemos escribir:
Y finalmente, vamos a comprobar que versión de Git hemos instalado.
En mi caso y cómo podemos observar en el momento del tutorial, estoy trabajando con la versión 2.35.1.windows.2. Si en el momento de realizar el tutorial vuestra versión es distinta a la mía no preocuparos, no hay problema alguno. Ya que, en su gran mayoría de veces, las versiones van cambiando, pero no suelen traer cambios importantes.
2.5) Aprendiendo a movernos con la terminal
pwd
: nos permite ver la ruta en la que estamos situados actualmente:
Por lo que actualmente nos encontramos en la ruta C:/Users/David:
ls
: Para listar los elementos de la ruta actual:
cd
: lo utilizamos para cambiar de directorio, de hecho, si ejecutamospwd
, podemos ver que hemos cambiado de directorio:
También no podemos ver que se nos ha cambiado aquí:
Si por lo que fuera quisiéramos volver retroceder para atrás, utilizamos:
comando --help
: Si por imaginaros que con comando de cambio de directorio (cd
) nos hemos metido un directorio más adentro de donde quisiéramos. Y queremos volver hacía atrás y no sabemos cómo hacerlo, pero creemos que tenemos que utilizar el mismo comando que para ir hacia delante.
Una opción sería buscar por internet como realizarlo. Pero existe otra opción que para mí es mejor, utilizar el comando --help
. Vamos a verlo:
Una vez, que sabemos que los dos puntos (..
) son los que nos permiten retroceder en un sistema de directorios, vamos a combinarlo con cd
de la siguiente manera:
mkdir
: nos permite crear un directorio:
Si nos fijamos, el color azul, nos permite identificar a los directorios.
2.6) Iniciando un nuevo repositorio de Git en local
El comando para realizar un repositorio es git init
, una vez creado el repositorio, podremos ver (siempre y que tengamos los directorios ocultos visibles) un directorio llamado .git
, que no es nada más y nada menos que la carpeta del repositorio.
Si hacemos git log
sobre un repositorio “virgen”, es decir, recién creado, veremos que nos dirá que no hemos realizado commits aún.
Y si hacemos git status
, más de lo mismo:
📌 De hecho, hasta nos recomienda crear o copiar ficheros para usar en Git.
2.7) Tipos de repositorio en GIT
Existen distintos tipos de repositorios en GIT y son:
- Local repository: es el repositorio que tenemos descargado físicamente en nuestro equipo (en local). Y sobre el que realizaremos los cambios para finalmente poder subirlos (o no) al repositorio remoto.
- Remote repository: es el repositorio que tenemos en la nube, es decir, alojado sobre una de las plataformas de código como, por ejemplo: GitHub, BitBucket o GitLab.
2.8) Repositorios en la nube GitHub, GitLab, BitBucket…
Existen distintos tipos de plataformas que nos permiten almacenar nuestros repositorios en la nube (es decir, en un servidor de internet) que nos permite almacenar nuestros repositorios de Git en internet.
Algunos de los motivos para utilizar repositorios en la nube pueden ser:
- La seguridad que nos ofrece tener el código almacenado en un servidor externo a nuestro dispositivo ante el caso de que se pierda el laptop, robos, daños en el sistema operativo o en el hardware…
- La facilidad que nos proporciona esto para compartir repos con otros developers con los que colaboramos en un mismo proyecto en un ambiente colaborativo.
- El poder compartir nuestro código con la comunidad: tanto con otros developers, recluiters, etc.
Los repositorios en la nube más conocidos con:
🚩 Cread una cuenta en todos ellos, para posteriormente poder subir nuestros ficheros a todos ellos.🚩
2.9) Octocat, la mascota de GitHub
2.10) Creando un repositorio de GIT (local repository)
Para crear un repositorio de GIT, vamos a abrir la Git Bash y tras situarnos en el directorio (si hace falta lo creamos) ejecutamos el comando git init
Si queremos obtener más información sobre que hace este comando podemos ejecutar el comando: git help init
Pero es posible que cuando vayamos al directorio pese a que el mensaje de git nos decía que se había creado el repositorio, no veamos el directorio .git
Para solucionar esto, vamos a abrir:
📌 ️ — Lo que, finalmente, ahora sí, nos permitirá ver el directorio .git . Es muy importante que no borremos este directorio ya que sino perderemos todas las versiones a excepción de la actual. Git trabaja con una BBDD que va almacenando los cambios ¡Por lo que es mejor no tocar nada!
Y ya tenemos el repositorio creado, aunque aún no hemos hecho nada dentro de él.
Una vez creado, si lo queremos subir a una plataforma en la nube, como por ejemplo GitHub, tendremos que realizar lo siguiente:
Manera 2: Creando un repositorio desde GitHub (repositorio remoto y haciendo git clone)
Esta manera es la utilizada para descargar proyectos existentes sobre los que por ejemplo tenemos que realizar un mantenimiento de la web.
Vamos a ver un ejemplo:
Y finalmente, una vez creado el repositorio lo clonamos de la siguiente manera:
📌 — El repositorio se clonará sobre la ruta en la que estemos situados actualmente. Por lo que es muy importante realizar un pwd y ver que la ruta sea correcta. Aunque sino podríamos cortar la carpeta y moverla hacía otro directorio sin problemas.
Y si vamos a la ruta donde hemos descargado el repositorio, podemos ver que se nos ha creado una carpeta con el repositorio ya creado:
Manera 3: Creando un repositorio desde GitHub (repositorio remoto y descargando un ZIP)
Otra alternativa a utilizar la línea de comandos, sería el realizar lo siguiente:
Lo cual nos permitirá descargar un ZIP:
Y finalmente, una vez descargado, bastaría con descomprimirlo: