¿Qué es Git?

Git es un Sistema de Control de Versiones Distribuido (DVCS), actualmente el más popular entre la comunidad de Software de Código Abierto (Open Source) y también en la industria comercial. 

Básicamente Git te da control sobre las diferentes versiones de tu código, ¿por qué? Porque te permite accesar a cualquier etapa de tu proyecto, esto te ayuda a no preocuparte por respaldos, equivocaciones o agregar nuevas personas al desarrollo de tu proyecto.

Historia

Git se desarrolló por la comunidad de desarrolladores Linux. Estos desarrolladores empezaron a usar un producto comercial de DVCS llamado BitKeeper para el mantenimiento del software Kernel de Linux el cual es un Software Open Source. Pero la relación se rompió entre la comunidad Linux y la compañía BitKeeper, y BitKeeper revocó las herramientas que eran sin costo para la comunidad.

Por lo que la comunidad Linux decidió hacer su propio Sistema de Control de Versiones Distribuido teniendo como metas:

  • Velocidad
  • Diseño simple
  • Apoyo total para el desarrollo no-lineal
  • Completamente distribuido
  • Capaz de manejar proyectos grandes

Es así que en 2005 Git nació, manteniendo estas cualidades iniciales.

La diferencia entre Git y otros Sistemas de Control de Versiones

Almacenamiento

GITOTROS
Toma una secuencia de copias fotográficas de cómo se ven todos sus archivos en ese momento y almacena una referencia (como un enlace) a esa fotografía.Manejan el almacenamiento de información como un conjunto de archivos, y los cambios realizados en cada archivo a lo largo del tiempo.

Acceso a la información

GITOTROS
La mayoría de las operaciones en Git necesitan sólo de archivos y recursos locales para trabajar. Lo que le da muchas ventajas de velocidad.Algunos VCS necesitan conectarse a otro servidor para consultar cierta información. Esto presenta algunas desventajas cuando no estás conectado en una red, si estas viajando y volando, quieres hacer algo de trabajo es muy difícil o imposible guardar cambios, así como subirlos a la base de datos.

Cambios en tu código

GITOTROS
Después de enviar una fotografía a Git es muy difícil perderlo, especialmente si transfiere su base de datos regularmente a otro repositorio.Puedes perder o estropear los cambios antes de hacer el Commit.

Integridad

GIT
Todo en Git se pasa por una lista de verificación, lo cual hace que sea imposible cambiar el contenido de un archivo o directorio sin que Git lo sepa. Esto da control a Git de evitar perder información en tránsito.

Los 3 estados de GIT​

Git tiene tres estados principales donde tus archivos pueden encontrarse. 

Modificado (Modified)

Significa que has modificado el archivo, pero todavía no lo has confirmado a tu base de datos.

Preparado (Staged)

Significa que has marcado un archivo modificado en su versión actual para que vaya en tu próxima confirmación. 

Confirmado (Commited)

Significa que los datos están almacenados de manera segura en tu base de datos local.

Por lo que estas son las Tres secciones principales en un proyecto de Git:

El directorio de trabajo (The Working Tree)

Es una copia de una versión del proyecto. Estos archivos se extraen de la base de datos comprimida en el directorio de Git y se colocan en tu disco local para que los puedas usar o modificar.

El área de preparación (Staging area)

Es un archivo, generalmente se encuentra en el directorio Git, que almacena la información acerca de lo que irá en la siguiente confirmación.

El directorio de Git (Git directory)

Es donde Git guarda la metadata y la base de datos de objetos de tu proyecto. Es lo parte más importante de Git, y es el directorio que se copia cuando clonas un repositorio desde otra computadora.

El flujo de trabajo básico en Git va algo así:

  1. Modificas archivos en el Directorio de Trabajo
  2. Preparas los archivos, agregando los cambios al Área de Preparación.
  3. Confirmas los cambios, lo que tomará los archivos del Área de Preparación tal y como están y almacenará una copia fotográfica de manera permanente en tu Directorio de Git.

Conclusión​

Ya sea que estés enfocada en programación, o quieras trabajar con un equipo para el desarrollo de un proyecto o tan siquiera estás empezando a programar, Git es una de las herramientas que deberías usar. ¿Por qué? Porque te da accesibilidad directa (sin conectarse a internet) para usar algunas de las operaciones más sencillas para consultar versiones de tu código, para subir actualizaciones de tu código, así como lo ligero y rápido que es accesar al historial de tu código.

¿Estás de acuerdo? ¿Qué Sistema de Control de Versiones funciona para ti?

Te recomiendo sumergirte en el sitio oficial de Git para más información. También leer el libro oficial de Git, escrito por Scott Chacon y Ben Straub. Es muy interesante porque uno de los autores trabajaba en GitHub cuando escribía la primera versión del libro, y en ese entonces GitHub contaba con algunos miles de personas usando el sistema. Y en un periodo de 5 años GitHub anunció su 10 millonésimo proyecto hospedado, con casi 5 millones de programadores registrados y 230 empleados.

Related Post