¿Por qué deberías estar usando GIT?

Un sistema de control de versiones es uno de los factores que determinan que estas desarrollando de manera profesional o no. 👨🏻‍💻
¿Por qué deberías estar usando GIT?

Cuándo afrontamos proyectos es necesario llevar el control histórico de nuestros avances. Una opción podría ser tener una carpeta de archivos por cada versión, indicando el número ó fecha que permita ubicar los documentos en el futuro. Esta opción, de primera mano podría solucionar nuestro problema; sin embargo, corremos riesgos como nombrar mal, omitir, sobrescribir o eliminar archivos. El problema puede hacerse más complejo y tedioso de controlar si trabajamos en equipo y necesitamos dividir el proyecto en partes, por lo que para consolidar los avances tendremos que recopilar y copiar los archivos manualmente; además, rogar que no se generen fallos en el proceso.

https://firebasestorage.googleapis.com/v0/b/cristhianmesta.appspot.com/o/Blog%2Fpor-que-deberias-estar-usando-git%2Fpor-que-deberias-estar-usando-git-1.jpg?alt=media&token=061efe51-5d62-428c-8a09-96dcbba1d4fb

Para solucionar el problema existen los sistemas de control de versiones, y específicamente hoy en día: Git.

¿Qué son los sistemas de control de versiones?

Un sistema de control de versiones es un software que nos permite gestionar archivos a lo largo del tiempo, brindándonos muchos ventajas como acceder a versiones anteriores, saber los cambios específicos, obtener metadatos, compararlos con otras versiones, etc.

Existen muchos sistemas, algunos de ellos son: Subversion, ClearCase, Mercurial, Team Foundation, pero sin duda hoy el estándar es Git.

Git, el estándar de hoy

https://firebasestorage.googleapis.com/v0/b/cristhianmesta.appspot.com/o/Blog%2Fpor-que-deberias-estar-usando-git%2Fpor-que-deberias-estar-usando-git-2.png?alt=media&token=d8dbb7a0-3e80-4b6d-98de-61121aa0e98a

Git, desarrollado por Linus Torvalds, es un sistema de control de versiones distribuido, gratuito, de código abierto y prácticamente estándar en la actualidad.

Por ser un sistema distribuido, permite realizar copias locales del repositorio central, sobre las cuales se realizarán cambios específicos para luego fusionarlos a las fuentes principales, permitiendo un trabajo colaborativo fluido y seguro.

Git nos permite realizar mediante un conjunto de comandos de consola los cambios en los archivos de nuestros proyectos de manera sencilla. Aunque lo más recomendable es el uso de la consola, existen herramientas que proveen interfaces gráficas para gestionar las fuentes de manera aún más sencilla. Además, la mayoría de IDEs y editores de códigos cuentan con integraciones o extensiones para tener Git sin salir de nuestro entorno de desarrollo favorito.

https://firebasestorage.googleapis.com/v0/b/cristhianmesta.appspot.com/o/Blog%2Fpor-que-deberias-estar-usando-git%2Fpor-que-deberias-estar-usando-git-3.png?alt=media&token=e266e975-0282-474f-95d8-bdd81ecd0172

Para empezar a trabajar con GIT solo debemos instalar en nuestra maquina local y con algunas comandos ya podemos gestionar el versionamiento de nuestro repositorio.

Puedes hacer muchas cosas con git, y muchas de las reglas de lo que debes hacer no son tanto limitaciones técnicas, sino que se refieren a lo que funciona bien cuando se trabaja con otras personas. Así que git es un conjunto de herramientas muy poderoso.


Linus Torvalds

Terminología básica de Git

  • Repositorio, es el conjunto de archivos que componen nuestro proyecto, con el histórico gestionado por Git.
  • Master (ahora main), es la rama principal del repositorio, a partir de ella se pueden crear bifurcaciones, es decir otras ramas para versiones específicas del proyecto.
  • Rama (branch), es un versión especifica de nuestro repositorio con todo su histórico.
  • Checkout, es la acción de moverse entre ramas.
  • Stage: es el espacio temporal donde podemos ir agregando nuestros cambios que finalmente serán enviados al repositorio.
  • Commit, es un registro o captura instantánea de los cambios almacenados en el stage.
  • Pull Request, es la acción de solicitar incluir un cambio realizado, de manera que se notifique que se a terminado con una nueva feature.
  • Merge, es la acción de fusionar una bifurcada hacia la rama de origen.

Repositorios remotos basados en Git

Cuándo tenemos un repositorio de manera local, nos hacemos la pregunta: si mi disco presenta algún fallo, ¿pierdo los documentos de mi repositorio?.

Para dar respuesta a esta pregunta existen los repositorios remotos, que son copias de nuestro repositorio local en un servidor o un plataformas de internet que nos permiten almacenar y hacer de repositorio central donde podemos almacenar nuestros archivos.

Desde el repositorio remoto es desde donde traernos las últimas actualizaciones para hacer los cambios necesarios en nuestro local y posteriormente enviarlos y fusionarlos con el repositorio principal.

Entre los principales repositorios remotos podemos encontrar GitHub, Bitbucket, GitLab, Azure Respos, entre otros.

Referencias

Tutorial recomendado