docs: RUNBOOK-PR-AUTO-BITEA #81
122
docs/RUNBOOK-PR-AUTO-GITEA.md
Normal file
122
docs/RUNBOOK-PR-AUTO-GITEA.md
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
# 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.
|
||||||
|
|
||||||
Reference in New Issue
Block a user