2.7 KiB
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 :
- branche dédiée
- push
- suggestion “Nouvelle demande d’ajout” (bandeau vert) OU lien terminal
- création PR via UI
- 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/-
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 '': ” ➡️ 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.