# RUNBOOK — Créer une Demande d’ajout (PR) “automatique” depuis un push (Gitea)

## Objectif
Pousser une branche depuis le Mac vers Gitea et obtenir le workflow standard :
1) branche dédiée
2) push
3) suggestion “Nouvelle demande d’ajout” (bandeau vert) OU lien terminal
4) création PR via UI
5) merge (main protégé)

> Important : Gitea ne crée pas une PR automatiquement.  
> Il affiche une *suggestion* (bandeau vert) ou imprime un lien “Create a new pull request” lors du push.

---

## Pré-check (obligatoire, 10 secondes)
en bash :

git status -sb
git fetch origin --prune
git branch --show-current

Procédure standard (zéro surprise)
### 1) Se remettre propre sur main

git checkout main
git pull --ff-only

### 2) Créer une branche AVANT de modifier / ajouter des fichiers

git switch -c docs/<YYYY-MM-DD>-<sujet-court>

### 3) Ajouter/modifier tes fichiers dans docs/

Exemple :

docs/auth-stack.md

docs/runbook-....

### 4) Vérifier ce qui va partir

git status -sb
git diff

### 5) Commit

git add docs/
git commit -m "docs: <résumé clair>"

### 6) Vérifier que ta branche a bien des commits “devant” main (SINON pas de PR possible)

git fetch origin
git log --oneline origin/main..HEAD

Si ça n’affiche rien : tu n’as rien à proposer (branche identique à main).

### 7) Push (méthode la plus robuste)

git push -u origin HEAD

### 8) Créer la PR (2 chemins fiables)
# Chemin A — le plus simple : utiliser le lien imprimé dans le terminal

Après le push, Gitea affiche généralement :
“Create a new pull request for '<ta-branche>': <URL>”
➡️ Ouvre cette URL, clique “Créer la demande d’ajout”.

# Chemin B — via l’UI Gitea (si tu veux le bandeau vert)

Va sur le dépôt

Onglet “Demandes d’ajout”

Clique “Nouvelle demande d’ajout”

Source branch = ta branche, Target = main

Créer

## Pourquoi le bandeau vert peut ne PAS apparaître (et ce que ça signifie)

Ta branche est identique à main

# Diagnostic :

git fetch origin
git diff --name-status origin/main..HEAD

Si vide => normal, pas de suggestion.

Tu n’es pas sur la bonne branche

# Diagnostic :

git branch --show-current

Tu regardes l’UI au mauvais endroit

Solution : utilise le bouton “Nouvelle demande d’ajout” ou le lien du terminal (chemin A).

Anti-bêtise (optionnel mais recommandé)
Empêcher de commit sur main par erreur (hook local)

# Créer .git/hooks/pre-commit :

#!/bin/sh
b="$(git branch --show-current)"
if [ "$b" = "main" ]; then
  echo "❌ Refus: commit interdit sur main. Crée une branche."
  exit 1
fi

Puis :

chmod +x .git/hooks/pre-commit

## Rappel : main protégé

Si main est protégé, tu ne merges PAS par git push origin main.
Tu merges via la PR (UI), après CI verte.

