
Git y GitHub Control de Versiones (AI-Enhanced)
Al finalizar este curso podrás:
- ✅ Dominar el flujo de trabajo completo de Git: clonar, commitear, ramificar, fusionar y sincronizar.
- ✅ Colaborar en equipo usando Pull Requests, code review y resolución de conflictos.
- ✅ Trabajar con ramas de forma segura usando merge, rebase y estrategias de branching.
- ✅ Automatizar pruebas y despliegues con GitHub Actions y CI/CD desde el primer push.
- ✅ Publicar sitios estáticos con GitHub Pages y contribuir a proyectos open source con confianza.
Contenido del curso
Git es el sistema de control de versiones más utilizado del mundo. Creado por Linus Torvalds en 2005 para el desarrollo del kernel de Linux, hoy es la columna vertebral de prácticamente todos los proyectos de software, desde startups hasta empresas Fortune 500.
Git te permite llevar un historial completo de los cambios en tu código, colaborar con otros desarrolladores sin pisar el trabajo de nadie, experimentar con ramas sin miedo a romper nada y desplegar versiones con total confianza. GitHub, por su parte, es la plataforma social que ha hecho de Git el estándar global: aloja repositorios, facilita revisiones de código y potencia flujos de colaboración como Pull Requests y GitHub Actions.
En este curso potenciado por IA, usarás Continue.dev con DeepSeek como un tutor de control de versiones que te guiará desde el primer git init hasta la resolución de conflictos complejos. La IA te explicará qué está pasando debajo del capó, te ayudará a interpretar mensajes de error y te hará preguntas para que interiorices los conceptos en lugar de memorizar comandos.
Nota: Este curso es requisito recomendado para todos los demás cursos de programación de ByteLabs. Dominar Git antes de empezar cualquier proyecto de software te ahorrará horas de frustración.
Objetivos🔗
- Comprender qué es el control de versiones y por qué Git es el estándar de la industria, con apoyo explicativo de IA.
- Dominar el flujo de trabajo básico: clonar, modificar, commitear, sincronizar.
- Colaborar en equipo usando ramas, Pull Requests y code review.
- Resolver conflictos de fusión con confianza usando la IA como depuradora.
Temario🔗
Instalación y configuración🔗
- Instalación de Git en Linux, macOS y Windows.
- Configuración global: nombre, email, editor.
- Visual Studio Code + extensión Continue.dev conectada a la API de DeepSeek.
- Integración de Git en VS Code.
- Práctica con IA: Primer prompt: "Acabo de instalar Git. Verifica mi configuración y dime qué otras configuraciones globales debería establecer."
Fundamentos de control de versiones🔗
- ¿Qué es el control de versiones? — analogías con "Ctrl+Z profesional".
- Sistemas centralizados vs distribuidos.
- Introducción al repositorio local y remoto.
- El área de trabajo, el staging area y el historial.
- Práctica con IA: La IA responde preguntas socráticas: "¿Qué diferencia hay entre
git commiten Git vs los sistemas centralizados como SVN? ¿Por qué Git es distribuido?"
Flujo de trabajo básico🔗
git initvsgit clone.- Ciclo de vida de un archivo: untracked → staged → committed.
git status,git add,git commit.git log— leer el historial.git diff— antes de commitear.- Práctica con IA: La IA revisa tu historial de commits y te pregunta: "¿Este mensaje de commit describe correctamente el cambio? ¿Puedes mejorarlo siguiendo Conventional Commits?"
Ramas (branches)🔗
- ¿Qué es una rama y por qué usarlas?
git branch,git checkout,git switch.git merge: fusión directa.- Resolución de conflictos.
git rebase: reescribiendo la historia (cuándo usarlo y cuándo evitarlo).- Práctica con IA: Simulación de conflicto: la IA genera un escenario donde dos personas modifican el mismo archivo y guía al alumno paso a paso para resolverlo sin perder cambios.
Trabajo remoto con GitHub🔗
- Crear una cuenta en GitHub.
git remote: conectar local con remoto.git push,git pull,git fetch.- Claves SSH: autenticación segura.
git clonede repositorios públicos.- Práctica con IA: Depuración interactiva: la IA analiza un error de
push rejectedy guía al alumno a solucionarlo congit pull --rebase.
Pull Requests y colaboración🔗
- Forks vs ramas compartidas.
- Crear un Pull Request desde GitHub.
- Code review: comentar, aprobar, solicitar cambios.
- Mantener el PR actualizado con la rama base.
git stash: guardar cambios temporales.- Práctica con IA: La IA simula ser un revisor de código: revisa el PR del alumno y hace preguntas socráticas sobre la calidad de los cambios.
GitHub Pages y GitHub Actions (introducción)🔗
- Publicar un sitio estático con GitHub Pages.
- Concepto de CI/CD: qué es y para qué sirve.
- Primer workflow: ejecutar
git pushy que se corran pruebas automáticas. - Práctica con IA: Prompt para generar un workflow de GitHub Actions que ejecute pruebas y publique el resultado, y la IA explica cada sección del YAML.
Temas selectos (opcionales)🔗
.gitignore: qué no subir al repositorio.git tag: versionado semántico.git bisect: encontrar el commit que introdujo un bug.git hooks: automatización local.- Colaboración en proyectos open source.
- Práctica con IA: Ingeniería de prompts: "Dado este historial de commits, usa
git bisectpara encontrar dónde se rompió la función X. La IA te guiará sin darte la respuesta directamente."
🎯 Proyecto final del curso
Colaborarás en un repositorio compartido con otros estudiantes (simulado) para construir una landing page colaborativa: cada quien desarrollará una sección en su propia rama, resolverá conflictos al fusionar, revisará PRs de compañeros, configurará GitHub Actions para pruebas automáticas y publicará el resultado en GitHub Pages.