Laboratorio de Git y Gitea: aprende clone, commit y push en un servidor Git propio
Este laboratorio da a cada alumno su propio Gitea, un pequeño servidor Git autoalojado con una interfaz web como la de GitHub, que contiene un repositorio con dos commits. Desde el terminal que tiene al lado clona el repositorio, crea un archivo, lo prepara, hace commit y push, y luego encuentra su commit en la interfaz web.
No hay que crear ninguna cuenta de GitHub ni instalar nada, lo que lo hace adecuado para una primera lección sobre control de versiones.
Qué aprenden los alumnos
El ciclo del control de versiones: git config, git clone, git status, git add, git commit, git log y git push, y lo que muestra cada uno. Encuentran su commit al principio del historial en una interfaz web, editan un archivo en el navegador y lo traen de vuelta. Las siguientes lecciones naturales son una rama y una pull request, un conflicto provocado al editar la misma línea en el navegador y en el terminal, y deshacer con git revert.
Ejecútalo en tu navegador
La cuenta de Gitea es student con la contraseña student, y el repositorio es student/hello-git.
- Abre la página Contenedor. Abre «Crear» en la barra y elige «Ejecutar un contenedor». Cualquiera puede abrir la página, y el laboratorio de Git y el de SQL se inician sin cuenta. Todos los demás laboratorios necesitan una cuenta gratuita: crea una, inicia sesión y pulsa «Iniciar».
- Busca el laboratorio. La tarjeta «Laboratorios de ejemplo» lista todos los ejemplos. Busca Git con Gitea.
- Pulsa «Iniciar». «Iniciar» lo ejecuta tal cual, con una sola pulsación. «Editar el archivo primero» abre el archivo compose para que lo cambies antes de iniciarlo.
- Ábrelo. En la página del laboratorio, en «En tu navegador», pulsa Gitea y mira hello-git. En el terminal, git clone http://gitea:3000/student/hello-git.git: el terminal llega a Gitea por el nombre de su servicio. El README recorre cada paso.
El código en GitHub
Un archivo compose; Gitea se ejecuta como una cuenta normal y no necesita permisos adicionales. También se ejecuta en tu propio ordenador. Haz un fork para cambiar el repositorio de partida.
Una lección básica en este laboratorio
Git Basics y Git Basics 2 son lecciones hechas en este laboratorio, cada paso explicado y con un botón Ejecutar que escribe un comando en el terminal del alumno. En Git Basics crean un repositorio, una carpeta, un archivo y un primer commit, y lo suben con push. En Git Basics 2 trabajan en una rama, la suben, la fusionan con una pull request en Gitea y traen la fusión de vuelta.
Una cuenta personal gratuita las recibe en el módulo Basics, que está en Inicio, cada centro puede copiarlas de la carpeta Basics de la Biblioteca, y un centro nuevo las tiene en un módulo llamado Basics (Sample). Son deliberadamente breves: muestran a un docente lo que es una lección hecha en un laboratorio, y el laboratorio hace el resto. Copia una en un módulo propio para cambiarla.
Asígnalo como trabajo
Pide a los alumnos que hagan push de un commit que haga lo que tú indiques, y que entreguen el historial.
- Crea el laboratorio. En tu módulo añade una tarea y elige la tarjeta «Laboratorio de contenedores», y después «En un repositorio de GitHub». Indica https://github.com/mitsurutech/lab-git-gitea con la rama main. El archivo compose es el predeterminado, compose.yaml. Haz un fork del repositorio antes si quieres modificarlo.
- Publica y pruébalo. «Publicar» fija el commit que te mostraron, así que un cambio posterior en el repositorio no altera un laboratorio que ya has asignado. Inicia primero tu propia copia.
- Asígnalo. Asígnalo como cualquier tarea, con una fecha de entrega si quieres, e indica en la tarea qué hacer y qué entregar.
- Califica lo entregado. Abre la copia de un alumno y el trabajo que ha entregado, califícalo y devuélvelo con un motivo si necesita más.
Preguntas frecuentes
- ¿Necesitan los alumnos una cuenta de GitHub?
- No. El laboratorio de cada alumno inicia su propio Gitea, así que hacen push a un servidor Git que pertenece a su copia del laboratorio y que no existe en ningún otro sitio.
- ¿Se conserva el trabajo entre sesiones?
- Sí. Gitea guarda sus repositorios y su base de datos en un volumen con nombre que la plataforma conserva, así que lo que un alumno subió sigue ahí la próxima vez.
- ¿Qué comandos de Git practican los alumnos en el laboratorio de Gitea?
- El ciclo de cada día: git config, git clone, git status, git add, git commit, git log y git push, y lo que muestra cada uno. Después encuentran su commit al principio del historial en la interfaz web de Gitea, con la sesión iniciada como student y la contraseña student.