LABS · JULIÁN LÓPEZ JIMÉNEZ · RECURSO GRATUITO
Construye la guía de tu próximo proyecto y guarda su historia. Cinco retos con pistas, soluciones y un resultado que puedes explicar. Sin cuenta ni tarjeta.
Qué necesitas: Git 2.28 o posterior y Bash (Git Bash en Windows; en macOS/Linux abre Bash). Comprueba git --version; si no está instalado, descárgalo desde https://git-scm.com/install/ y vuelve a abrir la terminal. No uses PowerShell para estos bloques. No necesitas programar, GitHub ni publicar nada. El tiempo es orientativo.
Tu resultado: Un repositorio local con main y mejora-guia, seis commits y una guía que conserva una mejora y revierte un experimento. Resuelve los retos en orden, en la misma terminal. Tu puntuación personal: un punto por cada comprobación que puedas explicar, hasta cinco; no se guarda automáticamente ni suma XP al curso.
Abre Bash en una carpeta de prácticas fuera de OneDrive/Dropbox y de cualquier repositorio. pwd muestra tu ubicación; git rev-parse --show-toplevel debe responder que no es un repositorio. Si muestra una ruta, sal de ese proyecto antes de continuar. Crea la carpeta siguiente; si ya existe o mkdir falla, detente y escoge otro nombre. Ejecuta las líneas una a una y para si aparece un error. La identidad ficticia solo se configura aquí. Tu encargo: crea README.md con el título «Mi proyecto» y la línea «Objetivo: practicar Git», prepara únicamente ese archivo y crea el commit «Crea la guía del proyecto». Un commit guarda una versión en este equipo; no es una copia en la nube.
pwd
git rev-parse --show-toplevel
mkdir labs-git-cinco-retos
cd labs-git-cinco-retos
git init -b main
git config --local user.name 'Alumno Labs'
git config --local user.email 'alumno@example.invalid'
git config --local commit.gpgsign falseprintf escribe texto; > crea o reemplaza un archivo. git add README.md lo prepara; git commit -m guarda lo preparado. Usa las redirecciones solo en los archivos del laboratorio.
printf '# Mi proyecto\nObjetivo: practicar Git\n' > README.md
git add README.md
git commit -m 'Crea la guía del proyecto'
git status --short
git log --onelineadd prepara una instantánea; commit la incorpora al historial. Crear el archivo por sí solo no hace ninguna de las dos cosas. Los identificadores y algunos mensajes pueden variar entre equipos.
Comprueba: README.md tiene dos líneas y log muestra un commit. status --short no imprime líneas: no quedan cambios pendientes. Un punto si puedes explicar qué guardó commit.
Añade «Primer paso: crear una carpeta de trabajo» al final de README.md. Antes de confirmar, mira la diferencia, prepara el archivo y revisa la diferencia preparada. Finalmente crea el commit «Añade el primer paso». Predice qué muestra cada diff antes de ejecutarlo.
git status --short>> añade al final; > reemplazaría todo el contenido. git diff compara la edición con lo preparado; git diff --cached compara lo preparado con el último commit.
printf 'Primer paso: crear una carpeta de trabajo\n' >> README.md
git diff -- README.md
git add README.md
git diff --cached -- README.md
git commit -m 'Añade el primer paso'
git status --shortAntes de add, la línea aparece en diff; después, en diff --cached. Se confirma la versión preparada, que puede diferir de una edición posterior del archivo.
Comprueba: La guía conserva sus dos líneas y añade una tercera; hay dos commits y el estado queda limpio. Un punto si distingues la edición, la preparación y el historial.
Has preparado dos archivos, pero solo debe entrar plan.txt en el próximo commit. Ejecuta la preparación de abajo. Después retira borrador.txt de la preparación sin borrar su contenido. Confirma solo plan.txt con el mensaje «Guarda el plan». Deja borrador.txt sin seguimiento: comprobaremos que una rama no es una caja donde se guarda cualquier archivo.
printf 'Plan: practicar cada paso\n' > plan.txt
printf 'Esta idea sigue en borrador\n' > borrador.txt
git add plan.txt borrador.txt
git status --shortgit restore --staged actúa sobre la preparación. No añadas --worktree: quieres conservar el archivo. En status --short, A en la primera columna indica una incorporación preparada y ?? significa sin seguimiento.
git restore --staged borrador.txt
cat borrador.txt
git diff --cached --name-only
git commit -m 'Guarda el plan'
git status --shortLa preparación contiene solo plan.txt. El borrador permanece en disco y aparece como ?? borrador.txt. No está en ningún commit ni queda protegido por cambiar de rama.
Comprueba: Tres commits, plan.txt guardado y ?? borrador.txt como único pendiente. Un punto si conservaste el borrador sin incluirlo en el commit.
Crea y cambia a mejora-guia. Añade «Segundo paso: revisar los cambios» a README.md y confírmalo como «Añade la revisión». Vuelve a main: la guía aún no debe tener esa línea. Integra mejora-guia mediante merge --ff-only y vuelve a leerla. El borrador sin seguimiento sigue en el directorio mientras cambias de rama; no lo añadas.
git branch --show-currentgit switch -c crea una rama y cambia a ella; git switch main regresa. merge --ff-only puede avanzar main porque aquí no tiene commits propios nuevos. Si falla, detente y revisa el historial; no lo fuerces.
git switch -c mejora-guia
printf 'Segundo paso: revisar los cambios\n' >> README.md
git add README.md
git commit -m 'Añade la revisión'
git switch main
cat README.md
git merge --ff-only mejora-guia
cat README.md
git log --oneline --all --decorateLa rama es una referencia a un commit. Al avanzar main hasta el commit de mejora-guia incorporas esa mejora sin crear otro commit de integración. No hay conflicto en este recorrido.
Comprueba: En main, README.md termina con «Segundo paso: revisar los cambios». Ambas ramas apuntan al mismo cuarto commit. Un punto si explicas por qué merge no ha creado un quinto commit.
Añade y confirma el experimento de abajo. Después revierte ese último commit con git revert --no-edit HEAD. Antes de hacerlo, escribe qué línea debería desaparecer y cuáles deberían quedarse. Este laboratorio no genera conflictos; si encuentras uno, no continúes copiando comandos sin revisarlo.
printf 'Experimento: saltarse la revisión\n' >> README.md
git add README.md
git commit -m 'Prueba un atajo'revert crea un commit nuevo que invierte el anterior. No borra aquel commit. No uses reset --hard ni restore sobre la guía para resolver este encargo.
git revert --no-edit HEAD
git log --oneline -3
cat README.md
git status --shortAhora hay seis commits en main: los cuatro anteriores, el experimento y su reversión. La mejora de revisión permanece y borrador.txt sigue sin seguimiento.
Comprueba: La línea del experimento desaparece; la de revisar cambios permanece. log muestra la reversión y el experimento. Un punto si explicas por qué el experimento continúa en el historial.
Misión de transferencia: sin copiar la solución, crea checklist.txt con dos líneas: «Mirar status» y «Revisar diff». Confirma solo ese archivo en main con el mensaje «Añade la checklist». No incluyas borrador.txt. Comprueba el contenido del último commit y explica por qué una cuenta de GitHub no ha sido necesaria. Si te atascas, revisa los retos 2 y 3.
printf 'Mirar status\nRevisar diff\n' > checklist.txt
git add checklist.txt
git diff --cached --name-only
git commit -m 'Añade la checklist'
git show --stat --oneline HEAD
git status --short
git log --oneline --all --decorateSolo checklist.txt entra en el último commit. Hay siete commits en main, mejora-guia sigue apuntando al cuarto y borrador.txt continúa sin seguimiento. Git trabaja localmente; compartir por GitHub será un paso posterior. Si log abre un paginador, pulsa q para volver a la terminal. Para repetir, crea otra carpeta nueva; no necesitas borrar ni reiniciar este laboratorio.
Repite con datos distintos antes de marcarlo como practicado. Esta es una autoevaluación, no una certificación.
¿Quieres practicar con más situaciones? De Cero a GIT cuesta 14,99 € con impuestos incluidos, pago único y acceso sin caducidad. Incluye 24 misiones, ocho bloques, talleres, decisiones con corrección, proyecto y progreso personal. Formación escrita a tu ritmo; no incluye vídeos ni tutoría individual. Consulta el temario antes de comprar. Devolución íntegra durante 14 días según las condiciones publicadas. Este reto completo y sus soluciones siguen siendo gratuitos.
Consultar el curso y su temarioFuente: Recurso original de Labs. Puedes guardar este HTML, abrirlo sin conexión o imprimirlo como PDF desde tu navegador. No guarda tus respuestas ni el progreso de tu cuenta.