HDP115

¿Qué es un control de versiones?

Un control de versiones es un sistema que registra los cambios realizados en un archivo o conjunto de archivos a lo largo del tiempo.

CE

Cristian Escalante

Última actualización: 19 de abril de 2025

git
control de versiones
desarrollo

¿Qué es un control de versiones?

Un control de versiones es un sistema que registra los cambios realizados en un archivo o conjunto de archivos a lo largo del tiempo. Es como una máquina del tiempo para tu código (o cualquier archivo), que te deja ver versiones anteriores, compararlas, restaurarlas o colaborar con otros sin perder nada. Es decir, esto permite:

  • Revertir a versiones anteriores si algo sale mal.
  • Comparar cambios entre diferentes versiones.
  • Trabajar en equipo sin sobrescribir el trabajo de otros.

En el desarrollo de Software comprender ¿qué es? y ¿cómo funciona? un control de versiones se vuelve indispensable, ya que estas se vuelve en una herramienta de uso diario.

¿Por qué es importante para los estudiantes?

Como estudiante, es probable que trabajes en proyectos personales, tareas colaborativas o prácticas de laboratorio. Usar un sistema de control de versiones como Git te da muchas ventajas:

  • Evitar perder trabajo importante si cometes un error.
  • Colaborar con compañeros de forma ordenada.
  • Aprender una habilidad altamente demandada por las empresas.
  • Documentar tu progreso y construir un portafolio en GitHub.

Terminología a tomar en cuenta

Repositorio

Un repositorio (o repo) es un espacio donde se almacena un proyecto, incluyendo todos sus archivos, historial de cambios y configuraciones. Puede estar en tu computadora (local) o en plataformas como GitHub (remoto).

📌 Ejemplo:
Al crear un proyecto en GitHub, se genera un repositorio con una URL como:
https://github.com/tu-usuario/nombre-del-proyecto.


Versión

Una versión es un estado específico del proyecto en un momento dado. Git guarda cada cambio como una versión recuperable.

📌 Ejemplo:

  • Versión 1.0: Primera entrega del proyecto.
  • Versión 1.1: Se corrigió un error en el formulario.

Ramas (Branch)

Una rama (branch) es una línea independiente de desarrollo. Permite trabajar en nuevas funciones sin afectar el código principal (usualmente la rama main o master).

📌 Ejemplo:

git branch nueva-funcionalidad  # Crea una rama  
git checkout nueva-funcionalidad  # Cambia a esa rama

log

El log es el historial de commits (cambios guardados) en un repositorio. Muestra autores, fechas y mensajes descriptivos.

📌 Ejemplo:

git log  # Muestra el historial completo

checkout

El comando checkout permite cambiar entre ramas o restaurar archivos a versiones anteriores.

📌 Ejemplo:

git checkout main  # Regresa a la rama principal  
git checkout a1b2c3d4  # Revierte a un commit específico

commit

Un commit es un "guardado" de los cambios realizados, acompañado de un mensaje descriptivo.

📌 Ejemplo:

git commit -m "Se corrigió el error de login"

merge

Merge combina los cambios de una rama con otra (ejemplo: integrar una funcionalidad nueva a la rama principal).

📌 Ejemplo:

git checkout main  
git merge nueva-funcionalidad  # Fusiona la rama con main

versionamiento semantico: Es un estándar para numerar versiones de software con el formato MAYOR.MENOR.PARCHE (ejemplo: 2.1.3):

  • MAYOR: Cambios incompatibles con versiones anteriores.
  • MENOR: Nuevas funcionalidades compatibles.
  • PARCHE: Corrección de errores menores.

📌 Ejemplo:

  • 1.0.0: Primera versión estable.
  • 1.1.0: Se agregó soporte para móviles.
  • 1.1.1: Se arregló un bug crítico.
¿Porqué es importante en el Desarrollo de Software?
Saber usar un control de versiones facilita el trabajo en eq...
Referencias

Conceptos Básicos de HTML

Aprende los conceptos básicos de HTML

Conceptos Básicos de CSS

Aprende los conceptos básicos de CSS

Conceptos Básicos de JavaScript

Aprende los conceptos básicos de JavaScript

Conceptos Básicos SQL

Aprende los conceptos básicos de SQL

Conceptos Básicos de Python

Aprende los conceptos básicos de Python

Refuerzo Academico de Herramientas de Productividad 2025