Tema
Flujo de trabajo con Git
Tu repositorio está en https://gitea.theproject.ec/studentNN/studentNN-qa y es tuyo: nadie más puede escribir en él.
Configuración inicial (una sola vez)
bash
git config --global user.name "Tu Nombre"
git config --global user.email "studentNN@theproject.ec"Clonar
bash
git clone https://gitea.theproject.ec/studentNN/studentNN-qa.git
cd studentNN-qaTe pedirá usuario y contraseña: son las mismas del laboratorio.
Para no escribir la contraseña cada vez
bash
git config --global credential.helper storeLa guarda en texto plano en tu equipo. Aceptable para un laboratorio; no lo uses con credenciales de trabajo reales.
El ciclo de trabajo
main ─────●─────────────●──────► (la rama estable)
\ /
●───●───●─┘ feat/mi-cambio1. Partir de main actualizado
bash
git checkout main
git pull2. Crear una rama
bash
git checkout -b feat/pruebas-de-cancelacionConvención de nombres:
| Prefijo | Para |
|---|---|
feat/ | Algo nuevo |
fix/ | Arreglar algo |
docs/ | Documentación |
test/ | Pruebas |
3. Ver qué has cambiado
bash
git status # qué archivos
git diff # qué líneas exactamenteAcostúmbrate a mirar el diff antes de commitear. Evita subir cosas sin querer.
4. Preparar y commitear
bash
git add tests/web.spec.ts # archivos concretos
git commit -m "test: valida que no se cancele una cita ajena"Evita git add .
Sube archivos que no querías: dependencias, credenciales, archivos temporales. Nombra lo que vas a subir.
Un buen mensaje de commit dice qué cambió y por qué, en una línea:
✅ test: valida que no se cancele una cita ajena
✅ fix: corrige la espera del listado de citas
✅ docs: hallazgos del modulo 2
❌ cambios
❌ asdf
❌ arreglos varios5. Subir
bash
git push -u origin feat/pruebas-de-cancelacionEl -u solo hace falta la primera vez. Después basta git push.
Al subir, el pipeline arranca solo. Míralo en Gitea → pestaña Actions.
6. Pull request (opcional en el bootcamp)
En Gitea, botón New Pull Request. Un PR es la conversación sobre un cambio antes de integrarlo. En tu trabajo real será obligatorio; aquí es opcional.
Comandos de rescate
Deshacer cambios que no has commiteado
bash
git restore tests/web.spec.ts # un archivo
git restore . # todo (¡cuidado, se pierden!)Deshacer el último commit pero conservar los cambios
bash
git reset --soft HEAD~1Nunca uses git reset --hard sin entenderlo
--hard borra tu trabajo sin posibilidad de recuperarlo. Usa --soft, que deshace el commit pero deja los archivos como estaban.
Cambiar el mensaje del último commit
bash
git commit --amend -m "test: mensaje corregido"Solo si aún no lo has subido.
Ver la historia
bash
git log --oneline --graph --decorate -10Guardar cambios a medias para cambiar de rama
bash
git stash # guarda y limpia
git checkout main
git checkout - # volver
git stash pop # recuperarProblemas frecuentes
| Síntoma | Solución |
|---|---|
Authentication failed | Usuario o contraseña mal. Son los del laboratorio. |
rejected — non-fast-forward | Alguien (o tú desde otro sitio) subió antes. git pull --rebase y vuelve a subir. |
Please tell me who you are | Falta la configuración inicial de arriba. |
Subí node_modules sin querer | git rm -r --cached node_modules y commitea. Ya está en .gitignore. |
| El pipeline no arranca | Comprueba que la rama sea main, feat/* o fix/*: son las que lo disparan. |
Lo que nunca se sube
Tu repositorio ya trae un .gitignore que excluye:
node_modules/ las dependencias se instalan, no se versionan
playwright-report/ los reportes se generan
test-results/ igual
.env ¡credenciales!Si subes una credencial
Avisa al instructor de inmediato. Borrarla en un commit posterior no la elimina: sigue en la historia del repositorio y hay que rotar la credencial.