Operación MONCLOA.GIT — El Ministerio de las Promesas Imposibles

Introducción: bienvenidos al ministerio

El Gobierno de la República de Gitlandia acaba de crear el Ministerio de las Promesas Imposibles, una institución encargada de desarrollar un programa electoral que cambiará constantemente.

El problema es que cada vez que un político cambia de opinión, los funcionarios sobrescriben los documentos anteriores. Nadie sabe qué prometieron ayer, quién modificó una propuesta o cuándo desapareció una medida electoral.

El ministro de Tecnología ha decidido contratar a un administrador de sistemas para solucionar el problema: tú.

Tu misión será poner en funcionamiento un sistema de control de versiones que permita conservar todas las promesas electorales, identificar sus modificaciones, recuperar propuestas anteriores y publicar el programa en Internet.

A lo largo de la práctica se producirán varios incidentes: promesas incumplidas, presupuestos disparatados, borrados accidentales y hasta un intento de manipulación del programa electoral.

Toda la actividad es ficticia. La sátira se dirige a situaciones políticas generales, sin necesidad de utilizar partidos o políticos reales.

Objetivos de aprendizaje

Al terminar, cada alumno deberá ser capaz de:

  1. Instalar y configurar Git desde la terminal.
  2. Crear e inicializar un repositorio local.
  3. Comprender el directorio de trabajo, el área de preparación (staging) y los commits.
  4. Añadir, modificar, eliminar y recuperar archivos.
  5. Consultar el historial y comparar versiones.
  6. Utilizar .gitignore para excluir determinados archivos.
  7. Crear y utilizar ramas individualmente.
  8. Trabajar con un repositorio remoto en GitHub.
  9. Subir, descargar y sincronizar cambios.
  10. Clonar un repositorio y continuar trabajando sobre él.

En esta práctica cada estudiante trabaja individualmente. Las colaboraciones, los conflictos entre usuarios y las pull requests quedarán para la segunda práctica.

Antes de comenzar: comprender Git

Git es un sistema de control de versiones distribuido. Permite registrar el estado de los archivos de un proyecto en diferentes momentos y recuperar su historial.

Git no es lo mismo que GitHub: Git funciona localmente y no necesita Internet. GitHub es un servicio que puede alojar repositorios remotos y facilitar el intercambio de proyectos.

Esquema conceptual simplificado: primero se modifican archivos, después se seleccionan los cambios y finalmente se registran mediante un commit.

Fase 1. Preparación del entorno

Paso 1. Comprobar si Git está instalado

Abre una terminal de tu máquina virtual Ubuntu y ejecuta:

git --version

Si está instalado, aparecerá algo parecido a:

git version 2.x.x

Si aparece command not found, instala Git:

sudo apt update
sudo apt install git -y

Después, verifica nuevamente su versión.

Pregunta para el alumno: ¿Por qué crees que Git puede funcionar sin conexión a Internet?

Paso 2. Configurar nuestra identidad

Cada vez que realicemos un commit, Git registrará la identidad del autor.

Configura tu nombre y correo electrónico:

git config --global user.name "Tu Nombre"
git config --global user.email "tu-correo@example.com"

Utiliza un correo propio o el correo privado que GitHub te proporcione para los commits.

Consulta tu configuración:

git config --global --list

Y configura la rama inicial predeterminada:

git config --global init.defaultBranch main

Importante: esta configuración es global para tu usuario de Linux. No es necesario repetirla para cada proyecto.

Paso 3. Crear nuestro espacio de trabajo

Crearemos una carpeta donde almacenar nuestros proyectos.

mkdir -p ~/proyectos-git
cd ~/proyectos-git

mkdir ministerio-promesas
cd ministerio-promesas

Comprueba dónde estás:

pwd

Visualiza el contenido:

ls -la

El directorio debería estar vacío.

Paso 4. Inicializar un repositorio

Ejecuta:

git init -b main

Acabamos de convertir una carpeta normal en un repositorio Git.

Compruébalo:

ls -la

Verás una carpeta oculta llamada .git.

Esta carpeta contiene la información necesaria para que Git pueda gestionar el repositorio: objetos, referencias, configuración e historial.

No es necesario modificar manualmente su contenido.

Ahora ejecuta:

git status

Debería aparecer un mensaje parecido a:

On branch main

No commits yet

nothing to commit

Primer reto: ¿Qué sucedería si eliminásemos la carpeta .git? ¿Desaparecerían los archivos de nuestro proyecto? ¿Y el historial?

Fase 2. Primer programa electoral

Paso 5. Crear el documento oficial

El presidente de Gitlandia ha anunciado el primer programa electoral:

«Prometemos que nadie volverá a quedarse sin batería en el móvil, que todos los lunes serán festivos y que los exámenes se resolverán por votación popular».

Vamos a escribir estas propuestas en un archivo Markdown.

Ejecuta:

nano programa.md

Introduce el siguiente contenido:

# Programa Electoral de Gitlandia

## Elecciones Generales

Presidente: Don Commit Permanente

## Promesas oficiales

1. WiFi gratis en todo el país.
2. Los lunes serán festivos.
3. Cada ciudadano tendrá un robot asistente.
4. Los exámenes serán voluntarios.
5. Las impresoras funcionarán siempre.

## Lema

"Prometemos hasta que se llene el disco duro".

Guarda con Ctrl + O, pulsa Intro y cierra con Ctrl + X.

Comprueba el contenido:

cat programa.md

Paso 6. Consultar el estado del repositorio

Ejecuta:

git status

Aparecerá el archivo programa.md como archivo no seguido (untracked).

Esto significa que Git todavía no está controlando sus versiones.

Ahora ejecuta:

git add programa.md
git status

El archivo aparecerá preparado para incluirse en un commit.

Acabas de añadirlo al área de preparación, también llamada staging area.

Paso 7. Registrar el primer commit

Un commit es un registro de una versión del proyecto, acompañado de información sobre su autor, fecha y mensaje.

Ejecuta:

git commit -m "Primer programa electoral de Gitlandia"

Consulta el historial:

git log

Verás una entrada con un identificador, autor, fecha y mensaje.

También puedes obtener una versión resumida:

git log --oneline

Comprobación: el profesor debe poder identificar el primer commit y comprobar que el repositorio está limpio mediante git status.

Fase 3. Primer escándalo: las promesas cambian

Paso 8. Modificar una promesa

El ministro de Economía acaba de descubrir que los lunes festivos son caros.

El Gobierno ha decidido modificar la segunda promesa:

Antes: Los lunes serán festivos.

Después: Los lunes serán festivos únicamente si no hay trabajo pendiente.

Edita el archivo:

nano programa.md

Modifica esa línea, guarda el archivo y ejecuta:

git diff

Git mostrará los cambios respecto de la versión preparada o registrada anteriormente.

Normalmente, las líneas eliminadas aparecen con - y las nuevas con +.

Ejemplo de comparación

– 2. Los lunes serán festivos.

+ 2. Los lunes serán festivos únicamente si no hay trabajo pendiente.

Ahora registra la modificación:

git add programa.md

git commit -m "Economía limita los lunes festivos"

Comprueba:

git log --oneline

Ya deberías tener dos commits.

Paso 9. Segunda modificación: llega la oposición

La oposición acusa al Gobierno de hacer promesas imposibles. El presidente responde anunciando nuevas medidas.

Añade al final de programa.md:

## Nuevas medidas

6. Un unicornio eléctrico para cada familia.
7. Internet gratuito incluso dentro de los túneles.
8. Los atascos serán declarados ilegales.
9. Se eliminarán los errores 404 por decreto.

Antes de confirmar, ejecuta:

git status
git diff

Añade el archivo al staging:

git add programa.md

Ahora observa qué se va a registrar:

git diff --staged

Finalmente:

git commit -m "Ampliación del programa con medidas revolucionarias"

Reto: interpreta lo que estás viendo

Responde en tu documentación: ¿qué diferencia existe entre git diff y git diff --staged? ¿Por qué puede interesarnos seleccionar los cambios antes de confirmarlos?

Fase 4. El presupuesto secreto

Paso 10. Crear varios documentos

El Ministerio comienza a tener departamentos.

Crea la estructura:

mkdir -p economia comunicacion secretos

Crea un archivo de presupuesto:

cat > economia/presupuesto.txt <<'EOF'
PRESUPUESTO GENERAL DE GITLANDIA

WiFi nacional: 500 millones
Unicornios eléctricos: 800 millones
Robot por ciudadano: 2000 millones
Publicidad institucional: 9000 millones

Total: pendiente de calcular
EOF

Ahora un comunicado oficial:

cat > comunicacion/nota.txt <<'EOF'
COMUNICADO DEL GOBIERNO

El presupuesto está perfectamente controlado.
Las calculadoras de la oposición están manipuladas.
EOF

Y un documento que no debería publicarse:

echo "Clave ficticia de demostración: VOTO123" > secretos/claves.txt

Paso 11. Evitar archivos innecesarios con .gitignore

Los archivos excluidos por .gitignore no se añadirán automáticamente al control de versiones cuando todavía no están siendo seguidos.

Crea:

nano .gitignore

Introduce:

# Documentos internos ficticios
secretos/

# Archivos temporales
*.tmp

# Copias de seguridad
*.bak

# Configuraciones locales
.env

Comprueba:

git status

El archivo dentro de secretos/ no aparecerá como pendiente de seguimiento.

Puedes verificar la regla:

git check-ignore -v secretos/claves.txt

Ahora registra los documentos públicos y las reglas de exclusión:

git add .gitignore economia/ comunicacion/

git status

git commit -m "Creación de departamentos y presupuesto oficial"

Advertencia: .gitignore no convierte una contraseña en segura. No debe utilizarse Git para publicar secretos. Si alguna credencial real se ha incluido en un commit, ignorarla posteriormente no elimina el secreto del historial.

Fase 5. Crisis institucional: recuperar los errores

Esta fase es especialmente importante: aprenderemos a solucionar problemas sin destruir nuestro trabajo.

Paso 12. Recuperar un archivo modificado

Un funcionario decide cambiar el presupuesto utilizando un procedimiento bastante cuestionable:

echo "TODO EL PRESUPUESTO PARA HELADOS" > economia/presupuesto.txt

Comprueba el resultado:

cat economia/presupuesto.txt
git diff

El ministro entra en pánico.

Necesitamos recuperar la última versión confirmada del archivo.

Ejecuta:

git restore economia/presupuesto.txt

Vuelve a comprobar:

cat economia/presupuesto.txt

El presupuesto original debería haber regresado.

git restore ha descartado la modificación no registrada. Si hubiésemos querido conservarla, primero tendríamos que haberla guardado en otro lugar.

Paso 13. Recuperar un archivo eliminado

Un nuevo ministro decide que la mejor manera de evitar las críticas es eliminar los comunicados.

Ejecuta:

rm comunicacion/nota.txt

Comprueba:

git status

El archivo aparecerá como eliminado.

Recupéralo:

git restore comunicacion/nota.txt

Comprueba que existe nuevamente:

ls comunicacion/
cat comunicacion/nota.txt

Paso 14. Quitar un cambio del staging

En esta ocasión, el funcionario ha preparado accidentalmente un cambio.

echo "Impuesto por respirar aire premium" >> economia/presupuesto.txt

git add economia/presupuesto.txt
git status

El archivo ya está en staging.

Para retirarlo sin perder la modificación:

git restore --staged economia/presupuesto.txt

Comprueba:

git status
cat economia/presupuesto.txt

La modificación continúa en el archivo, pero ya no está preparada para un commit.

Finalmente, descarta el experimento:

git restore economia/presupuesto.txt

Diferencia esencial

ComandoResultado
git restore archivoDescarta los cambios locales no preparados en ese archivo
git restore --staged archivoLo retira del staging, conservando el contenido
git add archivoPrepara cambios para el próximo commit
git commitRegistra un nuevo punto del historial

Fase 6. La hemeroteca: Git nunca olvida

Paso 15. Investigar el historial de promesas

Un periodista solicita el programa electoral original para comprobar qué decía el Gobierno antes de modificar sus promesas.

Ejecuta:

git log --oneline

El resultado será parecido a este (los identificadores serán diferentes):

e3a45b1 Creación de departamentos y presupuesto oficial
b729c81 Ampliación del programa con medidas revolucionarias
a16d729 Economía limita los lunes festivos
c871a93 Primer programa electoral de Gitlandia

Cada línea representa un commit.

Consulta los detalles del último:

git show HEAD

HEAD indica el commit actual de nuestra rama.

Consulta la versión anterior:

git show HEAD~1

También podemos investigar los cambios de un archivo:

git log --oneline -- programa.md

Y comprobar cómo era en el primer commit. En nuestro caso, hemos realizado cuatro commits, por lo que:

git show HEAD~3:programa.md

Atención: HEAD~3 significa retroceder tres commits desde el actual, no necesariamente acceder siempre al primero. En esta práctica funciona si se ha seguido exactamente la secuencia.

Paso 16. Comparar dos momentos de la historia

Consulta el historial para localizar los identificadores de dos commits.

git log --oneline

Después ejecuta, sustituyendo los identificadores:

git diff ID_ANTIGUO ID_NUEVO -- programa.md

Por ejemplo, si los identificadores fueran c871a93 y b729c81:

git diff c871a93 b729c81 -- programa.md

Con este procedimiento puedes demostrar que el Gobierno cambió sus promesas.

Investigación periodística

Elabora un pequeño informe respondiendo: ¿cuál fue la promesa modificada? ¿En qué commit ocurrió? ¿Qué mensaje acompañaba al cambio? ¿Cómo puedes recuperar el contenido de la versión original sin modificar el proyecto actual?

Fase 7. El Gobierno comete un error histórico

Ahora vamos a ver otra de las funciones más útiles de Git: revertir un commit completo.

Paso 17. Registrar una medida equivocada

El presidente firma accidentalmente un decreto que establece:

«Todos los ciudadanos deberán pagar una cuota de 100 euros por utilizar el teclado de su ordenador».

Añade esta línea al programa electoral:

echo "10. Impuesto de 100 euros por utilizar el teclado." >> programa.md

Registra el cambio:

git add programa.md
git commit -m "Aprobado nuevo impuesto sobre los teclados"

La medida provoca una crisis nacional. El Gobierno quiere anularla, pero conservar la evidencia histórica de que fue aprobada.

Ejecuta:

git revert --no-edit HEAD

Observa el historial:

git log --oneline

Deberían aparecer tanto el commit que introdujo el impuesto como otro posterior que lo revierte.

¿Por qué es importante? Porque Git no ha borrado el commit anterior. Ha registrado una nueva operación que anula su efecto.

Comprueba que la medida ya no aparece:

cat programa.md

Así queda la historia del impuesto

No confundas git revert con git restore. El primero crea un commit que deshace otro commit; el segundo permite recuperar archivos o quitar cambios del staging sin registrar necesariamente un nuevo commit. git Documentation+1

Fase 8. Crear una rama: el programa electoral alternativo

Aunque todavía no vamos a trabajar en equipo, es importante comprender las ramas. Un desarrollador individual puede utilizarlas para experimentar sin modificar su versión principal.

Paso 18. Crear el programa de la oposición

El partido de la oposición, llamado Partido del Código Libre (PCL), propone sustituir algunas medidas por otras todavía más absurdas.

Desde main, crea una rama:

git switch -c oposicion

Comprueba:

git branch

Debería aparecer:

  main
* oposicion

El asterisco identifica la rama actual.

Ahora crea un archivo nuevo:

cat > oposicion.md <<'EOF'
# Programa de la oposición

Partido del Código Libre

1. Prohibir las reuniones que pudieron ser un correo.
2. Obligar a que todos los políticos usen Linux.
3. Convertir el Congreso en un servidor de Minecraft.
4. Que los ministros aprueben un examen de informática.
5. Sustituir los discursos por mensajes de 140 caracteres.
EOF

Registra el documento:

git add oposicion.md

git commit -m "Programa alternativo de la oposición"

Comprueba:

ls
git log --oneline

Paso 19. Volver al Gobierno

Regresa a la rama principal:

git switch main

Lista los archivos:

ls

Observa que oposicion.md ya no aparece.

Esto ocurre porque el archivo se creó y se registró en otra rama.

Vuelve a la oposición:

git switch oposicion

El archivo vuelve a aparecer.

Paso 20. Fusionar la oposición con el Gobierno

El presidente anuncia un pacto histórico: incorporará las propuestas de la oposición al repositorio oficial.

Regresa a la rama principal:

git switch main

Fusiona la rama de la oposición:

git merge oposicion

Comprueba:

ls
git log --oneline --graph --all --decorate

El archivo oposicion.md debe aparecer en la rama principal.

En esta situación lo normal es que Git pueda realizar una fusión de tipo fast-forward, porque main no tenía nuevos commits desde que se creó la rama.

No siempre aparece un commit específico de fusión. Es importante que los alumnos entiendan este comportamiento.

Puedes eliminar la rama individual una vez integrada:

git branch -d oposicion

El contenido fusionado no desaparece.

Fase 9. Llega la revolución: publicar en GitHub

Hasta este momento hemos trabajado completamente en local. El repositorio existe únicamente dentro de nuestra máquina virtual.

Ahora vamos a publicarlo en un servicio remoto.

Paso 21. Crear una cuenta en GitHub

Entra en GitHub y crea una cuenta si no tienes una.

Después, crea un nuevo repositorio desde el botón de creación de repositorios.

Configúralo con estos datos:

CampoValor
Repository nameministerio-promesas
DescriptionPrograma electoral ficticio de Gitlandia
VisibilidadPúblico, o privado si así lo indica el profesor
Add READMEDesactivado
Add .gitignoreDesactivado
Choose a licenseNinguna por ahora

Es importante no inicializar el repositorio remoto con archivos, porque ya tenemos un proyecto local con su propio historial. GitHub Docs

Paso 22. Vincular Git local con GitHub

Copia la dirección HTTPS del repositorio que acabas de crear.

Será similar a:

https://github.com/TU_USUARIO/ministerio-promesas.git

Vuelve a la terminal, dentro de ministerio-promesas.

Ejecuta:

git remote add origin https://github.com/TU_USUARIO/ministerio-promesas.git

Sustituye TU_USUARIO por tu nombre de usuario de GitHub.

Consulta los remotos:

git remote -v

Verás una dirección de envío (push) y otra de descarga (fetch).

origin es simplemente el nombre que hemos asignado al repositorio remoto. No es una palabra reservada que tenga que utilizarse obligatoriamente.

Paso 23. Publicar el primer repositorio

Ejecuta:

git push -u origin main

La opción -u establece la relación de seguimiento entre nuestra rama local main y la rama remota correspondiente.

A partir de ese momento, los siguientes envíos podrán hacerse simplemente mediante:

git push

Importante: autenticación

GitHub no admite utilizar la contraseña normal de tu cuenta como contraseña de Git para operaciones HTTPS. Tendrás que usar un método de autenticación compatible, como Git Credential Manager, GitHub CLI o un token de acceso personal con los permisos adecuados.

Una opción especialmente cómoda para un entorno de prácticas es utilizar GitHub CLI:

gh auth login

Este comando requiere tener gh instalado. En el asistente selecciona GitHub.com, HTTPS y sigue las instrucciones de autenticación.

Nunca escribas tokens ni contraseñas reales dentro de los archivos de la práctica.

Paso 24. Comprobar la publicación

Vuelve al navegador, abre tu repositorio de GitHub y actualiza la página.

Deberían aparecer programa.md, oposicion.md, los directorios públicos, .gitignore y el historial.

Comprueba especialmente que secretos/claves.txt no se ha publicado.

Paso 25. Crear un README para los visitantes

Un repositorio debería explicar qué contiene y cómo utilizarlo.

Crea:

nano README.md

Añade:

# Ministerio de las Promesas Imposibles

Bienvenido al repositorio oficial del Gobierno
de Gitlandia.

## Objetivo

Aprender Git mediante un programa electoral
ficticio que cambia constantemente.

## Archivos

- programa.md: Programa electoral oficial.
- oposicion.md: Propuestas de la oposición.
- economia/: Presupuestos.
- comunicacion/: Comunicados oficiales.

## Tecnología

- Linux
- Git
- GitHub
- Markdown

## Advertencia

Todos los personajes y propuestas son ficticios.

Proyecto educativo individual.

Registra y publica los cambios:

git add README.md

git commit -m "Documentación oficial del repositorio"

git push

Actualiza la página de GitHub.

El contenido del README debería mostrarse automáticamente en la página del proyecto.

Fase 10. Sincronización y clonación

Paso 26. Simular una modificación desde otro ordenador

Queremos comprobar qué sucede cuando el repositorio remoto tiene cambios que aún no existen en nuestra máquina virtual.

Abre el archivo README.md directamente en GitHub y utiliza su opción de edición.

Añade al final:

## Comunicado de última hora

El ministro anuncia que se estudiará
la posibilidad de cumplir alguna promesa.

Guarda la modificación mediante un commit desde GitHub.

Acabamos de crear una versión nueva que existe en GitHub, pero todavía no en nuestra máquina virtual.

Paso 27. Descargar los cambios

Vuelve a la terminal de Ubuntu.

Ejecuta:

git fetch origin

Este comando descarga información y objetos del repositorio remoto, pero no integra automáticamente los cambios en tu rama local.

Comprueba las diferencias:

git log --oneline HEAD..origin/main

Después ejecuta:

git pull --ff-only

En este caso, como no hemos realizado nuevos commits locales después de la publicación, Git debería poder actualizar mediante fast-forward.

Comprueba el README:

cat README.md

La modificación introducida desde GitHub debería estar disponible localmente.

Pregunta: ¿Qué diferencia existe entre git fetch, git pull y git push?

Paso 28. Clonar el proyecto en otro directorio

Vamos a simular que hemos adquirido un nuevo ordenador o que necesitamos restaurar el proyecto después de perder la máquina virtual.

Sal del directorio de trabajo:

cd ~/proyectos-git

Crea un directorio nuevo:

mkdir ordenador-nuevo
cd ordenador-nuevo

Clona tu repositorio:

git clone https://github.com/TU_USUARIO/ministerio-promesas.git

Entra en él:

cd ministerio-promesas

Comprueba:

git status
git remote -v
git log --oneline
ls -la

El repositorio clonado tendrá los archivos publicados y su historial Git.

No contendrá los archivos locales ignorados que no se subieron a GitHub.

Última misión

Desde este nuevo clon, añade a README.md una sección titulada «El Ministerio sobrevive al cambio de ordenador».

Después:

git add README.md

git commit -m "El Ministerio sobrevive al cambio de ordenador"

git push

Regresa al repositorio original:

cd ~/proyectos-git/ministerio-promesas

Y actualízalo:

git pull --ff-only

Comprueba que el cambio realizado en el nuevo clon aparece también en el original.

Hemos trabajado sobre el mismo proyecto desde dos directorios diferentes, sin necesitar un trabajo colaborativo entre personas.

Fase 11. El examen del ministro

En esta última fase, los alumnos realizarán pequeñas operaciones sin copiar exactamente la secuencia anterior. Deben identificar los comandos necesarios y justificar su elección.

Misiones finales

Marca las completadas

0 de 7 misiones

0%Crear un archivo ministros.md con tres ministros ficticios y registrar un commit.Añadir una cuarta promesa al programa electoral, identificar el cambio con git diff y registrarlo.Modificar accidentalmente economia/presupuesto.txt y recuperar la versión confirmada.Crear un archivo temporal discurso.tmp y comprobar que Git lo ignora.Crear una rama llamada reforma, añadir una propuesta, registrarla y fusionarla con main.Publicar todos los cambios en GitHub y comprobar que el repositorio local está sincronizado.Mostrar el historial completo con un gráfico de los commits.

Comandos que deben dominar

ComandoFunción
git init -b mainInicializar repositorio
git statusConsultar estado
git add archivoPreparar cambios
git commit -m "mensaje"Registrar versión
git log --onelineConsultar historial
git diffComparar cambios
git show HEADInspeccionar último commit
git restore archivoRecuperar contenido
git restore --staged archivoRetirar del staging
git revert HEADRevertir un commit
git switch -c ramaCrear y cambiar de rama
git merge ramaFusionar ramas
git remote -vConsultar remotos
git pushEnviar commits
git fetchDescargar información remota
git pullDescargar e integrar cambios
git clone URLClonar repositorio

Adaptación para Windows

En Windows pueden instalar Git for Windows y utilizar Git Bash, que permite ejecutar prácticamente todos los comandos Linux de esta práctica.

Para quienes utilicen PowerShell, las principales diferencias están en los comandos del sistema, no en Git.

OperaciónBash (Linux y Git Bash)PowerShell
Directorio actualpwdpwd
Listar archivosls -laGet-ChildItem -Force
Crear carpetamkdir proyectomkdir proyecto
Mostrar archivocat archivo.txtGet-Content archivo.txt
Eliminar archivorm archivo.txtRemove-Item archivo.txt
Editar archivonano archivo.txtnotepad archivo.txt
Consultar Gitgit statusgit status

Para mantener la práctica sencilla, recomiendo que todos trabajen con la terminal Linux de su máquina virtual, usando Windows solamente como demostración adicional.

Entrega de la práctica

Cada alumno deberá entregar un archivo README.md o informe.md con las respuestas a las preguntas, las explicaciones de los incidentes y las capturas necesarias.

Además, deberá facilitar el enlace de su repositorio en GitHub y demostrar que contiene el historial de commits.