Fundamentos de Control de Versiones
Propósito de la unidad
Comprender el uso del control de versiones para gestionar cambios en proyectos de software, organizar repositorios locales y documentar correctamente el progreso mediante commits.
1. Concepto de control de versiones
El control de versiones es un sistema que permite registrar los cambios realizados en archivos a lo largo del tiempo, facilitando:
- Recuperar versiones anteriores
- Comparar cambios
- Trabajar en equipo
- Mantener un historial del proyecto
El sistema de control de versiones más utilizado actualmente es Git.
Definición
- Control de versiones
- Sistema que registra y administra cambios en archivos, permitiendo rastrear su evolución.
2. Repositorio local
Un repositorio local es un espacio en tu computadora donde se almacena el historial completo del proyecto.
Características:
- No requiere conexión a internet
- Guarda todos los cambios (commits)
- Permite trabajar de forma independiente
Ejemplo de creación
git init
Esto crea una carpeta oculta llamada .git, donde se guarda toda la información del repositorio.
3. Estructura de un proyecto versionado
Un proyecto organizado debe tener una estructura clara:
mi_proyecto/
│
├── src/ # Código fuente
├── docs/ # Documentación
├── README.md # Descripción del proyecto
├── .gitignore # Archivos a ignorar
└── main.py # Archivo principal
Archivos importantes
- README.md
- Describe el proyecto, uso e instrucciones.
- .gitignore
- Define qué archivos no deben ser versionados (ej: temporales).
Evita subir archivos innecesarios como:
- Archivos temporales
- Dependencias pesadas
- Archivos del sistema
4. Commits y mensajes técnicos adecuados
Un commit es un registro de cambios en el repositorio.
Estructura de un commit
git add .
git commit -m "Mensaje del cambio"
Buenas prácticas para mensajes
- Claros y específicos
- En presente
- Técnicos y breves
Ejemplos correctos
- "Agrega función de cálculo de promedio"
- "Corrige error en validación de entrada"
- "Implementa menú principal"
Ejemplos incorrectos
- "Cambios"
- "Arreglos varios"
- "asdf"
Un mal mensaje de commit dificulta el seguimiento del proyecto.
5. Flujo básico de trabajo
flowchart LR
A[Modificar archivos] --> B[git add]
B --> C[git commit]
C --> D[Historial actualizado]
6. Práctica guiada

Objetivo
Crear un repositorio local y registrar cambios progresivos mediante commits.
Instrucciones
- Crear una carpeta para el proyecto
- Inicializar repositorio
- Crear archivos básicos
- Realizar cambios progresivos
- Registrar mínimo 3 commits
Desarrollo paso a paso
Paso 1: Crear proyecto
mkdir mi_proyecto
cd mi_proyecto
git init
Paso 2: Crear archivo inicial
echo "# Mi Proyecto" > README.md
git add README.md
git commit -m "Inicializa proyecto con README"
Paso 3: Crear archivo principal
echo "print('Hola mundo')" > main.py
git add .
git commit -m "Agrega archivo principal con mensaje inicial"
Paso 4: Modificar código
Editar main.py:
print("Hola mundo")
print("Versión 2")
git add .
git commit -m "Agrega segunda línea de salida"
Paso 5: Agregar funcionalidad
nombre = input("Ingresa tu nombre: ")
print("Hola", nombre)
git add .
git commit -m "Agrega entrada de usuario"
Paso 6: Documentar proyecto
Editar README.md
git add README.md
git commit -m "Actualiza documentación del proyecto"
7. Lista de verificación
-
Se creó el repositorio con
git init> - Se creó estructura de archivos>
- Se realizaron al menos 3 commits>
- Los mensajes son claros y técnicos>
- Se documentó el proyecto en README>