# Runbook — Gitea : Branches, PR, Merge (sans se faire piéger)

## Règle n°1 (hyper importante)
Une PR n’apparaît dans Gitea que si la branche contient **au moins 1 commit différent de `main`**.

Symptôme typique :
- `git push -u origin fix/xxx`
- et tu vois : `Total 0 ...`
→ ça veut dire : **aucun nouveau commit** → la branche est identique à main → pas de vraie PR à proposer.

---

## Workflow “propre” (pas à pas)
### 1) Remettre `main` propre
en bash

git checkout main
git pull --ff-only

### 2) Créer une branche de travail

git checkout -b fix/mon-fix

### 3) Faire un changement réel

Modifier le fichier (ex : src/layouts/EditionLayout.astro)

Vérifier :

git status -sb

→ doit montrer un fichier modifié.

### 4) Tester

npm test

### 5) Commit

git add src/layouts/EditionLayout.astro
git commit -m "Fix: ..."

### 6) Push

git push -u origin fix/mon-fix

### 7) Créer la PR dans l’UI Gitea

# Aller dans Pull Requests

# New Pull Request

Base : main

Compare : fix/mon-fix

Branch protection (si “Not allowed to push to protected branch main”)

# C’est normal si main est protégé :

On ne pousse jamais directement sur main.

On merge via PR (UI), avec un compte autorisé.

Si Gitea refuse de merger automatiquement :

soit tu actives le réglage côté Gitea “manual merge detection” (admin),

soit tu fais le merge localement MAIS tu ne pourras pas pousser sur main si la protection l’interdit.

Conclusion : la voie “pro” = PR + merge UI.