Home » Git para principiantes – El paso a paso
control de versiones de software

Git para principiantes – El paso a paso

El control de versiones permite a los desarrolladores registrar cada modificación, quién la realizó y cuándo se hizo. Esto facilita...

Git para principiantes – En el mundo del desarrollo de software, Git es el sistema de control de versiones que simplifica el seguimiento de los cambios en el código.

Aprendamos la teoría

Control de versiones

El control de versiones de software, también conocido como Sistema de Control de Versiones (VCS por sus siglas en inglés, Version Control System), es una práctica fundamental en el desarrollo de software.

Consiste en el seguimiento y la gestión de los cambios realizados en el código fuente y otros archivos del proyecto a lo largo del tiempo.

El control de versiones permite a los desarrolladores registrar cada modificación, quién la realizó y cuándo se hizo. Esto facilita la colaboración en equipos, ayuda a mantener la integridad del código, proporciona un historial completo de revisiones y permite la recuperación de versiones anteriores en caso de errores o necesidades específicas.

Importancia del control de versiones

El control de versiones desempeña un papel crítico en el desarrollo de software moderno. Garantiza la integridad y la trazabilidad del código, lo que es esencial en entornos de desarrollo complejos. En resumen, el control de versiones no es solo una herramienta, sino un componente fundamental para asegurar la calidad y la coherencia en el proceso de desarrollo de software.

¿Qué es Git?

Git es un sistema de control de versiones distribuido ampliamente adoptado en el desarrollo de software. Su popularidad radica en su velocidad, eficiencia y diseño descentralizado.

git

Su flexibilidad y capacidad para funcionar tanto en proyectos pequeños como en grandes empresas lo hacen excepcionalmente versátil y líder en la industria del desarrollo de software.

Por eso, Git para principiantes es la mejor forma de adentrarse en el mundo del software a través del control de versiones de código.

¿Cómo funciona Git?

Git funciona mediante la creación de un registro detallado de cambios en un proyecto de desarrollo de software.

Flujo de trabajo de Git

Su flujo de trabajo es esencialmente el siguiente:

  1. Inicialización del Repositorio (Init): Comienza un nuevo proyecto o toma uno existente y lo convierte en un repositorio de Git. Esto crea un espacio donde Git puede rastrear y registrar cambios.
  2. Agregar Archivos (Add): Antes de que Git pueda rastrear los cambios, debes indicar qué archivos deben incluirse en cada commit. Esto se hace con el comando “git add”.
  3. Realizar Commits (Commit): Después de agregar archivos, realizas un commit. Un commit es un registro de los cambios realizados en los archivos agregados. Debes proporcionar un mensaje descriptivo que explique los cambios.
  4. Ramas (Branches): Git permite trabajar en diferentes líneas de desarrollo llamadas ramas. Puedes crear una nueva rama para trabajar en una característica específica sin afectar la rama principal (normalmente llamada “master” o “main”).
  5. Fusionar Cambios (Merge): Una vez que hayas terminado de trabajar en una rama y estés satisfecho con los cambios, puedes fusionarlos de nuevo en la rama principal o en otra rama.
  6. Repositorios Remotos (Remote Repositories): Git también permite trabajar en colaboración con otros desarrolladores. Puedes clonar un repositorio remoto, realizar cambios y luego enviar (push) esos cambios de vuelta al repositorio compartido.
  7. Actualización (Pull): Si estás trabajando en un proyecto colaborativo, es importante mantener tu copia local actualizada. Puedes hacerlo descargando (pull) los cambios realizados por otros desarrolladores en el repositorio remoto.

Área de staging

El área de staging en Git, a menudo llamada “staging area” o “índice,” es un concepto fundamental en el sistema de control de versiones Git. Esta área actúa como un espacio intermedio entre tu directorio de trabajo local y el repositorio Git. Su función principal es seleccionar y preparar los cambios que deseas incluir en el próximo commit.

Cuando trabajas en un proyecto de desarrollo, es posible que realices cambios en varios archivos. En lugar de comprometer automáticamente todos estos cambios en un solo commit, puedes elegir cuáles deseas incluir de manera selectiva en el commit.

El proceso típico en Git que involucra el área de staging es el siguiente:

  1. Realizas cambios en tus archivos locales.
  2. Utilizas el comando git add para agregar los archivos modificados o nuevos al área de staging. Esto selecciona los cambios específicos que deseas incluir en el próximo commit.
  3. Una vez que has agregado los cambios deseados al área de staging, utilizas el comando git commit para crear un nuevo commit. Los cambios en el área de staging se incluyen en este commit.

El área de staging te brinda un control granular sobre tus commits, permitiéndote dividir tus cambios en unidades lógicas y descriptivas. Esto es especialmente útil para mantener un historial de versiones limpio y comprensible en proyectos de desarrollo de software.

Manos a la obra

Instalación de Git

  1. En sistemas Windows, Git se debe descargar desde Git – Downloads (git-scm.com). La instalación es simple: siguiente, siguiente…
  2. En Linux, usualmente Git ya viene instalado, pero sino es así como se instala:
sudo yum install -y git
sudo apt install -y git

Comandos básicos

Una vez que ya tenemos Git instalado en nuestro sistema, ahora es momento de empezar a explorar los primeros comandos para empeza a trabajar con esta herramienta.

1. git init

Inicializa un nuevo repositorio Git en un directorio. Para eso, primero debemos crear una carpeta y entrar en ella:

mkdir mi-primer-repositorio
cd mi-primer-repositorio

Una vez dentro, inicializamos el repositorio

git init

Debemos esperar una salida similar a esta imagen

salida de git init

2. git status

Muestra el estado actual del repositorio, incluyendo archivos sin rastrear o cambios pendientes de commit.

Primero debemos crear un archivo de texto plano con cualquier contenido…

cp /home/arengifo/README.txt copia-README.txt

Y ahora sí consultamos el estado del repositorio:

git status

Debería lucir así:

salida del comando git status

Se aprecia cómo el archivo copia-README.txt aparece en rojo bajo “Untracked files”. Es decir, ese archivo no está siendo rastreado por Git.

3. git add

Agrega archivos al área de preparación (staging) para el próximo commit.

git add copia-README.txt

Luego de agregar dicho archivo con Git, consultamos el estado de nuevo:

salida de comando git add y git status

El archivo ahora ya figura en verde bajo “Changes to be commited”. Significa que ya está en el área de staging.

4. git config

Este comando soporta múltiples opciones para configurar un amplio número de parámetros. Por ahora, lo usaremos solo para configurar nuestro nombre y e-mail en Git:

git config --global user.name "Angel Rengifo"
git config --global user.email "[email protected]"

Este comando es necesario configurarlo por única vez en nuestro equipo antes de intentar hacer cualquier commit.

5. git commit

Crea un nuevo commit con los cambios en el área de preparación o staging:

git commit -m "Agregado copia de archivo README.txt"

Luego de hacer el commit, consulta el estado del repositorio:

git status

6. git branch

Lista todas las ramas en el repositorio y muestra la rama actual.

git branch

7. git log

Muestra un registro de todos los commits en la rama actual.

git log

Debería mostrar el registro de cambios hechos anteriormente:

salida de comando git log

Conclusión y cierre

Este artículo pretende haber servido de guía introductoria para cualquier principiante en el versionamiento de software y uso de Git. Se ha mostrado los conceptos y comandos más básicos para poder empezar a trabajar.

En una próxima oportunidad seguiré explicando algunos otros casos de uso bastante frecuentes con esta herramienta.

Post navigation

Deja un comentario

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *