Git

Table of contents

Summarise with:

Git is a distributed version control system que se utiliza para gestionar y rastrear cambios en archivos de un proyecto, especialmente en proyectos de software.

Creado por Linus Torvalds en 2005, Git permite a los desarrolladores colaborar de manera eficiente y mantener un historial completo de todas las modificaciones realizadas a lo largo del tiempo.

Este sistema es fundamental en el desarrollo de software, ya que facilita la colaboración entre equipos, asegurando que cada miembro pueda trabajar en su propia copia del código sin interferir con el trabajo de otros. Al ser distribuido, cada colaborador tiene una copia completa del repositorio, lo que le permite trabajar de forma autónoma sin conexión a internet.

Funciones de Git

  1. Version control: rastrea los cambios realizados en archivos de un proyecto. Cada cambio se registra como una nueva versión o «commit», lo que permite volver a versiones anteriores si es necesario.
  2. Ramas (branches): facilita la creación de ramas, lo que permite trabajar en diferentes características o correcciones de manera independiente. Cada rama puede fusionarse nuevamente en la rama principal (generalmente llamada «main» o «master») una vez que el trabajo esté completo y probado.
  3. Fusión (merge): permite fusionar los cambios realizados en diferentes ramas. Esto es útil para combinar el trabajo de varios desarrolladores o unir una nueva característica con la rama principal.
  4. Historial: los usuarios pueden acceder al historial de cambios, lo que permite ver quién realizó qué cambio y cuándo, junto con una descripción opcional de cada commit.
  5. Restauración: ofrece la posibilidad de revertir cambios si algo sale mal, ya sea restaurando un archivo específico o volviendo a una versión anterior del proyecto.

¿Cómo funciona Git?

Git opera mediante instantáneas del proyecto en lugar de rastrear cambios línea por línea. Cada vez que se realiza un commit, Git toma una instantánea del estado actual de los archivos y guarda referencias a esos archivos. Si no hay cambios en un archivo, Git simplemente referencia el archivo anterior en lugar de almacenar una nueva copia.

Esto hace que Git sea extremadamente eficiente en términos de almacenamiento y velocidad. Los usuarios pueden clonar un repositorio (hacer una copia local completa), realizar cambios y luego «empujar» esos cambios al repositorio central.

Git utiliza tres áreas principales en su flujo de trabajo:

  1. Working Directory (Directorio de trabajo): donde se hacen los cambios.
  2. Staging Area (Área de preparación): donde se preparan los archivos que serán incluidos en el próximo commit.
  3. Repository (Repositorio): donde se almacenan todos los commits y el historial del proyecto.

Ventajas de Git

Git ofrece una serie de advantages de uso y son las siguientes:

  1. Colaboración eficaz: facilita que múltiples desarrolladores trabajen en el mismo proyecto simultáneamente sin sobrescribir los cambios de otros.
  2. Distributed: a diferencia de los sistemas centralizados, Git permite que cada desarrollador tenga una copia completa del repositorio, lo que significa que se puede trabajar sin conexión y se puede recuperar el trabajo desde cualquier nodo en caso de fallos.
  3. Rendimiento: es rápido y eficiente al manejar grandes proyectos con múltiples desarrolladores.
  4. Historial completo: el historial completo del proyecto está disponible en cualquier momento, lo que permite una trazabilidad detallada.

Diferencia entre Git y GitHub

Git es el sistema de control de versiones, mientras que GitHub es una plataforma basada en la nube que aloja repositorios Git.

GitHub permite a los desarrolladores colaborar en proyectos, almacenar sus repositorios en línea y utilizar características adicionales como revisión de código, issues (para seguimiento de errores y tareas) y acciones para automatización de flujos de trabajo.

Mientras que Git es una herramienta que puedes usar localmente, GitHub facilita la colaboración remota y proporciona una interfaz gráfica y herramientas adicionales para trabajar con Git.

Un proyecto puede usar Git sin estar en GitHub, pero la combinación de ambos ofrece una experiencia más completa para proyectos de código abierto y colaborativos.

Share in:

Related articles

Container

A container is a virtualisation technology that allows packaging and distributing an application together with all its dependencies (code, system tools, libraries, configuration settings) in an isolated and portable environment. In other words, a container includes everything necessary for

Bytecode

Bytecode is a fundamental concept in computer science and programming, referring to an intermediate representation of high-level code, designed to be executed by a virtual machine or interpreter. The term comes from the

Continuous improvement

Continuous improvement is a fundamental concept in quality management and operational efficiency in agile development that focuses on constantly increasing the effectiveness and quality of an organisation's processes, products or services. This approach

Mintear

In this short post we are going to explain what it means to mine or mint an NFT and what are the processes that have to be followed to do so: What does it mean to mine an NFT? To minify an NFT is basically to create it. When someone mines an NFT, he or she is generating

Scroll to Top