Arostik Logo
ArostikVLARCK

Micro-Technology Solutions

Git y GitHubNivel: Principiante15 min de lección

¿Qué es Git y para Qué Sirve? Control de Versiones Explicado

Comprende la naturaleza de Git como sistema de control de versiones distribuido, sus tres estados de trabajo (Working Directory, Staging y Repository) y cómo elimina el caos de 'proyecto_final_v2_definitivo.zip'.

¿Qué es Git y para Qué Sirve? Control de Versiones Explicado
AROS STUDENT
E
Equipo de Ingeniería ArostikEspecialista en Sistemas y TI · Actualizado el 20 mar 2026
¿Qué es y para qué sirve?

Git es un sistema de control de versiones distribuido (DVCS) de código abierto diseñado por Linus Torvalds para rastrear el historial de modificaciones en archivos de texto y código fuente a lo largo del tiempo.

¿Por qué deberías aprenderlo y usarlo?

Permite trabajar en equipo sin sobreescribir el trabajo ajeno, viajar en el tiempo a cualquier estado anterior del proyecto ante errores y crear ramas independientes para desarrollar nuevas funcionalidades con total seguridad.

Analogía de la Vida Real

Imagina los puntos de guardado de un videojuego: antes de entrar a pelear contra un jefe difícil o probar una ruta desconocida, guardas la partida. Si tu personaje es derrotado o caes en una trampa, simplemente recargas el punto de guardado y continúas sin perder tu progreso previo. Git es ese sistema de guardado fotográfico para tu código.

Explicación Paso a Paso del Tema

1

Configurar la identidad del autor en Git

Establece tu nombre y correo electrónico antes de realizar cualquier cambio.

Git asocia cada confirmación (commit) con un nombre y un correo electrónico. Esto no es una contraseña, sino una firma para que el equipo y herramientas como GitHub identifiquen al autor de cada línea de código.

Comando de Terminal / Código
git config --global user.name "Tu Nombre" && git config --global user.email "tu@correo.com"
Desglose de Parámetros:
Parámetro / FlagTipo / RolSignificado y Uso
--globalAlcance de configuraciónAplica los valores a todos los repositorios del usuario en esa computadora (~/.gitconfig)
user.nameClave de configuraciónNombre legible que aparecerá como autor en los registros de Git
user.emailClave de configuraciónCorreo que debe coincidir con tu cuenta de GitHub o GitLab para vincular los commits
Consejo Profesional:

Verifica tu configuración en cualquier momento ejecutando `git config --list --show-origin`.

Error Común a Evitar:

Hacer commits sin configurar el correo electrónico, lo que provoca commits anónimos con identificadores de máquina local que no se vinculan al perfil de GitHub.

2

Comprender los 3 estados fundamentales de Git

Familiarízate con el flujo de un archivo: Modificado -> Preparado (Staged) -> Confirmado (Committed).

1. Directorio de Trabajo (Working Directory): Editas tus archivos en VS Code. Están en estado 'Modificado' pero Git no los tiene registrados para el siguiente punto de control. 2. Área de Preparación (Staging Area): Usas `git add` para poner en la balanza los cambios listos. 3. Repositorio (.git): Usas `git commit` para sellar permanentemente la instantánea en la base de datos de Git.

Comando de Terminal / Código
git status
Desglose de Parámetros:
Parámetro / FlagTipo / RolSignificado y Uso
git statusComando de diagnósticoMuestra el estado exacto de los archivos en el directorio de trabajo y el área de preparación
Consejo Profesional:

Usa `git status -s` para obtener una vista condensada y limpia de dos letras que te ahorrará desplazamiento en la consola.

Error Común a Evitar:

Creer que editar y guardar un archivo en VS Code ya lo guarda en el historial de Git. Si no haces `git add` y `git commit`, el historial no registrará nada.

3

Crear tu primer repositorio local

Inicializa el seguimiento en una carpeta vacía y examina el directorio oculto `.git`.

El comando `git init` crea una subcarpeta oculta llamada `.git`. Dentro de ella reside toda la base de datos de objetos, el registro de ramas, la configuración local y los punteros del historial. Si borras esa carpeta `.git`, el proyecto volverá a ser una carpeta ordinaria sin historial.

Comando de Terminal / Código
mkdir mi-proyecto && cd mi-proyecto && git init && ls -la
Desglose de Parámetros:
Parámetro / FlagTipo / RolSignificado y Uso
git initInicializadorCrea el esqueleto interno de control de versiones en el directorio actual
.git/Directorio de base de datosContiene los objetos blobs, trees, commits y referencias HEAD del repositorio
Consejo Profesional:

Configura la rama inicial por defecto en 'main' mediante `git config --global init.defaultBranch main`.

Error Común a Evitar:

Ejecutar `git init` por error en la carpeta de inicio del usuario (como C:\Users\Usuario o /home/usuario), convirtiendo todo el disco duro en un repositorio accidental.

Casos Prácticos Reales en Producción

Situaciones de ingeniería reales sin mención de presupuestos ficticios.

1Caso de Producción: Recuperación de un Proyecto Médico tras Borrado Accidental

Escenario Real:

Un desarrollador borró accidentalmente un módulo crítico de cálculo de dosis pediátricas minutos antes de una demostración, y el comando deshacer de su editor no respondía porque la aplicación se había cerrado.

Solución de Ingeniería Aplicada:

Gracias a que el equipo utilizaba Git con confirmaciones continuas, bastó con ejecutar un comando de restauración (`git checkout HEAD -- .` / `git restore .`) para devolver todos los archivos borrados al estado exacto del último commit en menos de 2 segundos.

Fichas Nemotécnicas de Conceptos Clave

Glosario rápido para recordar los términos fundamentales de la lección.

VCS Distribuido

Arquitectura donde cada programador tiene una copia completa del historial de todo el proyecto en su disco duro local, no solo los archivos más recientes.

Puedes hacer commits, crear ramas y ver el historial completo estando en un avión sin conexión a Internet.
Staging Area (Index)

Zona intermedia de preparación donde seleccionas minuciosamente qué cambios concretos formarán parte de la próxima instantánea antes de confirmarla.

El comando `git add archivo.txt` coloca los cambios en el Staging Area.
Hash SHA (Checksum)

Cadena criptográfica de 40 caracteres hexadecimales que identifica unívocamente una instantánea (commit) basándose en su contenido.

commit 4a3f91b7e6d05...
Autoevaluación Rápida3 preguntas

¿Qué es Git y para Qué Sirve? Control de Versiones Explicado

Selecciona una opción para autoevaluarte al instante. La respuesta se califica de inmediato.

Aciertos: 0 / 3
1

¿Cuál es la función del Área de Preparación (Staging Area) en Git?

2

¿Qué contiene la carpeta oculta `.git` que se crea al hacer `git init`?

3

¿Qué comando se debe ejecutar para configurar el nombre del autor para todos los repositorios del usuario?

Preguntas Frecuentes (FAQ)

¿Git requiere conexión a Internet para funcionar?

No. Git es 100% local. Puedes gestionar historiales, crear ramas, fusionar y hacer commits sin acceso a la red. El Internet solo se necesita para sincronizar con repositorios remotos como GitHub o GitLab.

¿Por qué se llama sistema 'distribuido'?

Porque a diferencia de sistemas antiguos centralizados (como SVN), cada desarrollador tiene una copia íntegra de toda la base de datos del proyecto en su máquina, eliminando el punto único de fallo si el servidor se cae.

¿Quién creó Git y en qué año?

Fue creado en 2005 por Linus Torvalds, el creador del kernel de Linux, tras tener desacuerdos con el software propietario de control de versiones BitKeeper.

Temas relacionados:#Git#VCS#Control de Versiones#Desarrollo#Terminal