💻 Ejercicios Prácticos de Git
Practica Git con ejercicios progresivos. Cada ejercicio incluye pasos detallados, comandos específicos y puntos de logro.
Terminal Interactivo
Practica los comandos directamente aquí
¡Bienvenido al Terminal Git Interactivo! 🚀
Escribe help para ver los comandos disponibles.
Ejemplo: git init para inicializar un repositorio.
Cómo Usar los Ejercicios
Elige un Ejercicio
Selecciona un ejercicio según tu nivel y sigue los pasos.
Ejecuta Comandos
Escribe cada comando en el terminal de arriba y observa el resultado.
Gana Puntos
Completa pasos para ganar puntos y desbloquear logros.
⚙️ Configuración Inicial de Git
Aprende a configurar Git con tu identidad y personalizar tu entorno.
Paso 1: Configura tu nombre de usuario
1/2git config user.name "Tu Nombre"
💡 Usa tu nombre real o como quieres aparecer en los commits
Paso 2: Configura tu email
2/2git config user.email "tu@email.com"
💡 Usa el mismo email que usas en GitHub/GitLab
🌱 Tu Primer Repositorio
Crea tu primer repositorio Git y realiza operaciones básicas.
Paso 1: Inicializa un nuevo repositorio Git
1/5git init
💡 Este comando crea la carpeta .git oculta
Paso 2: Crea un archivo README
2/5touch README.md
💡 README.md es el archivo que describe tu proyecto
Paso 3: Verifica el estado del repositorio
3/5git status
💡 Este comando te muestra qué archivos han cambiado
Paso 4: Agrega el archivo al staging area
4/5git add README.md
💡 El staging area es donde preparas los cambios para el commit
Paso 5: Crea tu primer commit
5/5git commit -m "Initial commit"
💡 Los mensajes de commit deben ser descriptivos
📁 Trabajando con Archivos
Aprende a manejar múltiples archivos y entender los estados.
Paso 1: Crea un archivo JavaScript
1/7touch app.js
💡 Simula crear un archivo de código
Paso 2: Agrega contenido al archivo
2/7echo "console.log(\"Hello World\");" > app.js
💡 Escribe código JavaScript básico
Paso 3: Crea un archivo CSS
3/7touch style.css
💡 Los proyectos web necesitan estilos
Paso 4: Agrega estilos CSS
4/7echo "body { margin: 0; }" > style.css
💡 CSS básico para resetear márgenes
Paso 5: Agrega todos los archivos nuevos
5/7git add .
💡 El punto (.) significa "todos los archivos"
Paso 6: Confirma los cambios
6/7git commit -m "Add JavaScript and CSS files"
💡 Describe qué archivos agregaste
Paso 7: Revisa el historial de commits
7/7git log
💡 Verás todos los commits que has hecho
🌳 Introducción a Ramas
Aprende a crear y manejar ramas para organizar tu trabajo.
Paso 1: Crea una nueva rama para el header
1/8git branch feature/new-header
💡 Las ramas te permiten trabajar en características independientes
Paso 2: Lista todas las ramas
2/8git branch
💡 La rama actual aparece marcada con *
Paso 3: Cambia a la nueva rama
3/8git checkout feature/new-header
💡 Ahora trabajarás en la rama feature/new-header
Paso 4: Crea un archivo para el header
4/8touch header.html
💡 Trabajo específico de esta característica
Paso 5: Agrega contenido HTML al header
5/8echo "<header><h1>Mi Sitio Web</h1></header>" > header.html
💡 HTML básico para el encabezado
Paso 6: Prepara el archivo para commit
6/8git add header.html
💡 Solo en la rama feature/new-header
Paso 7: Confirma los cambios en la rama
7/8git commit -m "Add website header"
💡 Este commit solo existe en feature/new-header
Paso 8: Vuelve a la rama principal
8/8git checkout main
💡 main es la rama principal del proyecto
🔄 Práctica de Merge
Aprende a fusionar ramas y integrar características.
Paso 1: Crea una rama para el footer
1/9git branch feature/footer
💡 Otra característica independiente
Paso 2: Cambia a la rama del footer
2/9git checkout feature/footer
💡 Trabajarás en el pie de página
Paso 3: Crea el archivo del footer
3/9touch footer.html
💡 Archivo específico para esta rama
Paso 4: Agrega contenido al footer
4/9echo "<footer><p>© 2024 Mi Sitio</p></footer>" > footer.html
💡 HTML para el pie de página
Paso 5: Prepara para commit
5/9git add footer.html
💡 Staging del footer
Paso 6: Confirma el footer
6/9git commit -m "Add website footer"
💡 Commit en la rama feature/footer
Paso 7: Vuelve a main
7/9git checkout main
💡 Para hacer el merge
Paso 8: Fusiona footer con main
8/9git merge feature/footer
💡 Integra la característica al proyecto principal
Paso 9: Fusiona header con main
9/9git merge feature/new-header
💡 Ahora tienes ambas características
⚔️ Resolución de Conflictos
Aprende a resolver conflictos cuando las ramas modifican el mismo archivo.
Paso 1: Crea rama para actualizar README
1/10git branch feature/update-readme
💡 Simularemos un conflicto modificando el mismo archivo
Paso 2: Cambia a la nueva rama
2/10git checkout feature/update-readme
💡 Trabajarás en actualizar la documentación
Paso 3: Actualiza README en la rama
3/10echo "# Mi Proyecto Increíble\nEste proyecto es genial." > README.md
💡 Modificas el contenido del README
Paso 4: Prepara README actualizado
4/10git add README.md
💡 Staging de los cambios
Paso 5: Confirma cambios en README
5/10git commit -m "Update README with project description"
💡 Commit en feature/update-readme
Paso 6: Vuelve a main
6/10git checkout main
💡 Para modificar el mismo archivo
Paso 7: Modifica README en main
7/10echo "# Mi Sitio Web\nUn proyecto web moderno y responsivo." > README.md
💡 Cambio diferente al mismo archivo - esto causará conflicto
Paso 8: Prepara cambios en main
8/10git add README.md
💡 Staging en la rama principal
Paso 9: Confirma en main
9/10git commit -m "Update README with website description"
💡 Ahora tienes dos versiones diferentes
Paso 10: Intenta fusionar (causará conflicto)
10/10git merge feature/update-readme
💡 Git detectará el conflicto y te pedirá resolverlo
🚀 Flujo de Trabajo Avanzado
Implementa un flujo de trabajo profesional con múltiples ramas.
Paso 1: Crea rama de desarrollo
1/12git branch develop
💡 develop es común en Git Flow
Paso 2: Cambia a develop
2/12git checkout develop
💡 Trabajarás desde develop
Paso 3: Crea rama para autenticación
3/12git branch feature/user-auth
💡 Feature branch para nueva funcionalidad
Paso 4: Trabaja en autenticación
4/12git checkout feature/user-auth
💡 Desarrollo de la característica
Paso 5: Crea sistema de autenticación
5/12touch auth.js
💡 Archivo para manejo de usuarios
Paso 6: Implementa función de login
6/12echo "// Sistema de autenticación\nfunction login() { return true; }" > auth.js
💡 Código básico de autenticación
Paso 7: Prepara para commit
7/12git add auth.js
💡 Staging del sistema de auth
Paso 8: Confirma la autenticación
8/12git commit -m "Implement basic user authentication"
💡 Commit de la nueva característica
Paso 9: Vuelve a develop
9/12git checkout develop
💡 Para integrar la característica
Paso 10: Integra auth a develop
10/12git merge feature/user-auth
💡 Merge de feature a develop
Paso 11: Cambia a main para release
11/12git checkout main
💡 Preparar para producción
Paso 12: Deploy a producción
12/12git merge develop
💡 Merge de develop a main (producción)