Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

Que es GIT y como usarlo

Buenas, ¿cómo están?, en esta ocasión les quiero compartir información sobre que es GIT y como usarlo. Y te va a llevar a la siguiente pregunta.

¿Qué es GIT?

GIT no es más que un software de control de versiones, es de código abierto diseñado por Linus Torvalds, con el fin de tener mayor control sobre los cambios en códigos demasiados robustos o grandes.

Ventajas de usar GIT

Una de las grandes ventajas de usar GIT es básicamente el no tener que estar portando y pasando los proyectos físicamente.

Como hace tiempo atrás que solían pasarse los proyectos por pendrive o discos externos. Ahora es tan fácil como usar GIT, tienen el proyecto centralizado y todos pueden estar actualizados de los cambios sin pasarse nada físico.

¿Cómo funciona GIT?

Como ya dije GIT es un controlador de versiones y seguramente te queda la duda que como se manejan estas, básicamente funciona como si fuera una línea de tiempo llamada (branch / rama) y en esta línea de tiempo vas a tener marcado un punto en específico de su historia llamado (commit) cada commit guarda el estado en el que esta o estuvo el código.

Branches / Ramas

Mencione anteriormente que la rama era como una línea del tiempo y así como uno puede pensar en el multiverso de Marvel podemos tener más de una línea del tiempo, es decir más de una rama, pero eso si una rama siempre depende de otra excepto una, la principal llamada master o últimamente main que es la única y primera en ser creada (cabe aclarar que la primera rama puede tener cualquier nombre, pero por convención se la llama master o main).

branches_ramas

Stage y Unstage

Bien suponé que vas a empezar a hacer cambios y estos tienen un estado como creado, modificado, eliminado, y estos tres se agrupan dentro de Stage o Unstage.

Por defecto todos los archivos que crees, modifiques o elimines van a estar en unstage es decir no están listos para ser subidos a un commit, y luego de dichos cambios elegís cuáles están listos para pasar al stage para luego ser subidos en un commit.

unstage
Archivos que no están listos para el commit
stage
Archivos listos para un commit

Commits

Mencioné también que los commits son un punto específico en la historia de una rama es decir cuando tengas un cambio nuevo realizado vamos a commitear esos cambios entonces al crear un nuevo historial o punto de referencia en la rama en un futuro podría servir para restaurarse desde esa versión o también ver quien hizo los cambios, cabe aclarar que  cada commit necesita un autor username y email.

Repositorio

Un repositorio es una carpeta .git/ dentro de un proyecto que sé encargar de actualizar ciertos archivos y donde se guardaran el historial de los cambios a lo largo del tiempo, por ende si eliminas esta carpeta vas a perder el historial de cambios y commits que tengas.

Como instalar GIT

Bien luego de tener un concepto básico sobre que es GIT ahora fijate como usarlo.

Primero te vas a dirigir a su página oficial aquí ni bien entremos va a reconocer nuestro sistema operativo.

En el caso de Windows y Mac vas a poder descargar el instalador, en el caso de linux te va a redirigir a los comandos de instalación.

Como usar GIT

Ahora que sabes que es GIT veamos como usarlo y, ya que lo tenés GIT instalado me gustaría que puedas practicar un poco.

Así que abrí una terminal/consola y vas a escribir el siguiente comando para ver que tenés GIT instalado correctamente.

git --version

Para usar GIT es necesario que puedas ver la versión que instalaste, en mi caso tengo esta versión.

Usar GIT init

Para poder usar GIT vamos a usar el comando git init, pero necesito que lo ejecutes dentro de una carpeta que vayas a usar para practicar GIT.

Esta carpeta representaría un proyecto, pero por el momento bastaría con que dentro de esta carpeta crees un archivo que desees, yo voy a crear ejemplo.txt

Ahora si desde la consola deberías estar parado en la nueva carpeta y vas a ejecutar el siguiente comando.

git init

Este comando va a transformar tu carpeta en algo llamado repositorio, en este caso sería local y te va a crear también una carpeta llamada .git que va a estar oculta.

Ahora vas a poder ejecutar más comando de GIT dentro de la carpeta que nos permitirán revisar y commitear cambios.

Usar GIT status

GIT status muestra la ruta de los archivos que tienen diferencia con el último commit es decir nos mostrara los archivos que hallamos creado, modificado o eliminado y que no hayan sido subidos o commiteados aun.

También nos mostrará si el archivo esta o no listo para ser commiteados diferenciándose en 2 grupos staged y not staged

Staged es el grupo en el cual ya vas a poder commitear tus cambios y verás el siguiente mensaje Changes to be committed.

Not staged por consecuencia es el grupo que no se puede subir o commitear aun y este nos mostrara un mensaje como este Changes not staged for commit.

Dependiendo la consola pude que te lo diferencia más fácilmente staged con color verde y not staged en color rojo.

Dicho esto dentro de tu carpeta vas a crear el archivo que desees, en mi caso ejemplo.txt, luego de crear el archivo vas a abrir una terminar/consola en la dirección de la carpeta y vas a ejecutar el siguiente comando

git status

Notaremos como los cambios están en unstage y que lo marca en calar rojo y vemos cómo nos indica que para pasar de unstage a stage podemos usar el siguiente comando git add que lo veremos en breve.

Usar GIT add

Como mencione anteriormente, este comando nos permite pasar de unstage a stage, es como decirle a git qué archivos van a estar listos para ser commiteados y se usa de la siguiente manera.

git add .

Con este comando le diremos a git que queremos agregar todos los archivos que estén creados, eliminados o modificados.

Luego de correr este comando volveremos a usar el git status y veremos cómo ahora nuestro archivo creado está en el stage listo para ser commiteado.

Vemos cómo incluso nos indica que es un nuevo archivo y como nos indica que si queremos revertir el cambio podemos usar git rm –cached <file> donde file es el nombre del archivo.

git rm --cached ejemplo.txt

Y al volver a hacer git status veremos como vuelve a estar en unstage.

Bien, ahora para practicar vuelve a usar los comandos aprendidos para que el archivo esté en stage listo para realizar nuestro primer commit.

Usar GIT commit

GIT commit como mencionamos es ese punto en nuestra línea del tiempo que va a conservar esos cambios en específico.

Te voy a enseñar la manera más fácil de hacer un commit para que no varíe tanto entre sistemas operativos.

git commit -m 'Mi primer commit'

-m ‘texto’ se utiliza para dejar un mensaje descriptivo de los cambios que se están subiendo, más que nada para que tus compañeros, o incluso tu mismo, puedan encontrar fácilmente en que punto se hizo algún cambio en específico.

Seguramente a vos te va a pedir que configures primero él user.name y user.email para que quede asentado en el log del commit. Lo vas a hacer de la siguiente manera.

git config --global user.name "Tu Nombre"

git config --global user.email "tu@mail.com"

Esto te hará git use ese nombre y mail en todos tus proyectos git.

Usar GIT log

GIT log te va a permitir ver el historial de commits realizados, te va a mostrar el mensaje del commit y los datos del user.name y user.email configurados.

git log

Notaremos como en amarillo el código del commit que representa ese punto en específico en nuestra rama/branch datos del autor del commit, la ficha y el comentario que le proporcionamos.

En resumen, GIT es una herramienta para versionar código que nos va a permitir tener un historial de nuestros cambios y que es muy util al momento de utilizarlo en equipo.

Si bien no cubrí todos los temas básicos como por ejemplo como crear y usar las ramas/branch lo veremos en otro artículo en el cual también hablaremos sobre los repositorios remotos para subir nuestros cambios a internet.

Espero que este post los ayude con lo básico. ¡Suerte!