Git para proyectos de IA
git init, .gitignore para datos y modelos, commits de notebooks y DVC para el versionado de datos.
Git para proyectos de IA es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
Git en proyectos de IA
Git realiza un seguimiento de los cambios en el código para que pueda colaborar, revertir errores y consultar el historial. Sin embargo, los proyectos de IA añaden una dificultad: los archivos de datos grandes y los modelos binarios no deben estar en Git.
Esta lección aborda un archivo .gitignore adecuado y el uso de DVC para versionar datos.
Qué gestiona bien Git
Git destaca con el texto: código fuente, archivos de configuración, notebooks (con los resultados borrados) y documentación. Almacena diferencias eficientes de los archivos de texto.
Gestiona mal los binarios grandes: cada versión se almacena completa, lo que aumenta el tamaño del repositorio para siempre.
Por qué no debe confirmar datos ni modelos
Confirmar un conjunto de datos de 2 GB o un modelo de 500 MB:
- Aumenta el tamaño del repositorio y ralentiza cada clonación
- No permite realizar diferencias significativas
- Permanece en el historial para siempre, incluso después de eliminarlo
Solución: omítalos en Git y gestiónelos con una herramienta específica de control de versiones.
El archivo .gitignore
.gitignore enumera los patrones que Git no debe seguir. Créelo en la raíz del proyecto. Cada línea es un patrón glob.
# .gitignore
*.pkl
*.joblib
*.h5
data/raw/*
data/processed/*
models/*
__pycache__/
*.pyc
.ipynb_checkpoints/
.envCómo omitir archivos de modelos y caché
Patrones habituales para omitir en proyectos de IA:
*.pkl,*.joblib,*.h5— modelos serializados__pycache__/,*.pyc— bytecode de Python.ipynb_checkpoints/— guardados automáticos de Jupyter.env— secretos y claves de API (¡no los confirme nunca!)
Conservar carpetas vacías con .gitkeep
Git omite los directorios vacíos. Para conservar data/raw/ en la estructura del repositorio e ignorar su contenido, añada un archivo .gitkeep vacío y una negación.
# .gitignore
data/raw/*
!data/raw/.gitkeepIntroducción a DVC
DVC (Data Version Control) permite versionar datos y modelos grandes junto con Git. Git realiza el seguimiento de pequeños archivos puntero .dvc; los datos reales se almacenan de forma remota (en S3, GCS, etc.).
Así obtiene versiones reproducibles de los datos sin aumentar innecesariamente el tamaño del repositorio de Git.
dvc init
Inicializa DVC dentro de un repositorio de Git existente. Crea un directorio .dvc/ y una configuración que debe confirmar en Git.
# in your git repo
dvc init
git add .dvc .gitignore
git commit -m "Initialize DVC"dvc add — seguimiento de datos
dvc add comienza a seguir un archivo o una carpeta. DVC mueve los datos a su caché y crea un pequeño archivo puntero .dvc. Debe confirmar el puntero en Git, no los datos.
dvc add data/raw/dataset.csv
# creates data/raw/dataset.csv.dvc
git add data/raw/dataset.csv.dvc data/raw/.gitignore
git commit -m "Track dataset with DVC"dvc push y dvc pull
Configure un remoto; después, dvc push carga los datos en él y dvc pull descarga la versión que coincide con el commit actual de Git. Así es como los miembros del equipo comparten datos.
dvc remote add -d storage s3://my-bucket/dvcstore
dvc push # upload data to the remote
# teammate after git clone + git checkout:
dvc pull # fetch the matching data versionEl flujo de trabajo del equipo
El ciclo de Git + DVC mantiene sincronizadas las versiones del código y los datos:
git pullpara obtener el código más reciente y los punteros.dvcdvc pullpara descargar los datos y modelos correspondientes- Trabaje y, después, ejecute
dvc add+git commit+dvc push
Al cambiar a un commit antiguo y ejecutar dvc pull, reproduce exactamente ese estado.
Comprobación rápida: archivos grandes
Su proyecto tiene un conjunto de datos de entrenamiento de 1 GB y un archivo de modelo de 300 MB.
Repaso: Git para proyectos de IA
Ha aprendido el control de versiones específico para IA:
- Git para texto (código, configuración y notebooks), no para binarios grandes
- Un
.gitignorepara*.pkl,data/raw/*,__pycache__y.env .gitkeeppara conservar carpetas vacías- DVC:
dvc init,dvc addydvc push/pullpara versionar datos y modelos - El flujo de trabajo Git + DVC mantiene sincronizados el código y los datos
Siguiente: hacer que los experimentos sean reproducibles.
Preguntas frecuentes
¿La lección «Git para proyectos de IA» es gratis?
Sí — el texto completo de «Git para proyectos de IA» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Git para proyectos de IA»?
git init, .gitignore para datos y modelos, commits de notebooks y DVC para el versionado de datos. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Git para proyectos de IA»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Estructura profesional de directorios para proyectos de IA
- Git para proyectos de IA
- Reproducibilidad: semillas, configuraciones y entornos
- Buenas prácticas para Jupyter Notebooks