Skip to content

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-qa

Te pedirá usuario y contraseña: son las mismas del laboratorio.

Para no escribir la contraseña cada vez

bash
git config --global credential.helper store

La 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-cambio

1. Partir de main actualizado ​

bash
git checkout main
git pull

2. Crear una rama ​

bash
git checkout -b feat/pruebas-de-cancelacion

Convención de nombres:

PrefijoPara
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 exactamente

Acostú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 varios

5. Subir ​

bash
git push -u origin feat/pruebas-de-cancelacion

El -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~1

Nunca 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 -10

Guardar cambios a medias para cambiar de rama ​

bash
git stash              # guarda y limpia
git checkout main
git checkout -         # volver
git stash pop          # recuperar

Problemas frecuentes ​

SíntomaSolución
Authentication failedUsuario o contraseña mal. Son los del laboratorio.
rejected — non-fast-forwardAlguien (o tú desde otro sitio) subió antes. git pull --rebase y vuelve a subir.
Please tell me who you areFalta la configuración inicial de arriba.
Subí node_modules sin querergit rm -r --cached node_modules y commitea. Ya está en .gitignore.
El pipeline no arrancaComprueba 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.

Material del bootcamp de QA. El sistema de práctica contiene defectos a propósito.