En este post vamos a hablar de Git, qué es y para qué sirve.
Git es un sistema de control de versiones de código fuente. Fue creado por Linus Torvalds, el creador del kernel de Linux, y se distribuye bajo la licencia pública general de GNU.
Git permite a los desarrolladores llevar un seguimiento de los cambios realizados en el código fuente de un proyecto, así como también facilitar el trabajo en equipo.
Para entender mejor cómo funciona Git, primero debemos conocer el concepto de “control de versiones”.
El control de versiones es una técnica que permite almacenar diferentes versiones de un archivo o conjunto de archivos a lo largo del tiempo. Esto es útil, por ejemplo, cuando se está desarrollando un software y se quiere guardar un “historial” de todos los cambios realizados en el código fuente.
Git utiliza una estructura de datos llamada “árbol de commits” para almacenar las diferentes versiones de un archivo o conjunto de archivos. Cada “commit” es una instantánea de todos los archivos en el directorio de trabajo en un momento dado.
Los commits se organizan en una estructura en forma de árbol, de tal forma que cada commit tiene un único “padre” (excepto el commit inicial, que no tiene padre). Esto permite rastrear de forma eficiente todos los cambios realizados a lo largo del tiempo.
Además de almacenar las diferentes versiones de un archivo o conjunto de archivos, Git también permite a los desarrolladores crear “ramas” (branches).
Las ramas permiten a los desarrolladores crear versiones separadas del código fuente, de tal forma que cada rama representa una “línea de desarrollo” diferente. Esto es útil, por ejemplo, cuando se quiere agregar una nueva funcionalidad al software, pero no se quieren modificar los archivos de la rama principal (o “master”).
Una vez que se han realizado los cambios en la rama, estos se pueden “mezclar” (merge) de nuevo con la rama principal.
Git también permite a los desarrolladores trabajar de forma colaborativa en un proyecto. Para esto, se utiliza un servidor Git centralizado, donde cada desarrollador tiene su propia copia del repositorio (repository).
Los desarrolladores realizan sus cambios en su propia copia del repositorio, y luego “envían” (push) estos cambios al servidor central. Otros desarrolladores pueden “recibir” (pull) estos cambios del servidor y así estar al día con el último estado del proyecto.
En resumen, Git es un sistema de control de versiones de código fuente muy útil para los desarrolladores. permite llevar un seguimiento de los cambios realizados en el código fuente de un proyecto, así como también facilitar el trabajo en equipo.