Git Commit, Push & PR
Workflow complet : commits atomiques → push → PR.
Étape 1 : Analyse
git status
git diff --stat
git log origin/main..HEAD --oneline 2>/dev/null || echo "No commits ahead"
Identifie :
- Fichiers modifiés/ajoutés/supprimés
- Groupes logiques de changements
Étape 2 : Commits atomiques
Pour chaque groupe logique de changements :
- Stage les fichiers concernés :
git add <files> - Commit avec message conventionnel :
feat:nouvelle fonctionnalitéfix:correction de bugrefactor:refactoring sans changement fonctionneldocs:documentationtest:ajout/modification de testschore:maintenance, config
Format du message :
<type>: <description courte>
<détails si nécessaire>
Étape 3 : Push
# Vérifie si la branche a un upstream
git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || git push -u origin HEAD
git push
Étape 4 : PR
Vérifie si une PR existe :
gh pr view --json number 2>/dev/null
Si non, crée la PR :
gh pr create --fill
Si oui, affiche le lien de la PR existante.
Règles
- Ne jamais
--forcepush - Ne jamais modifier l'historique public
- Un commit = un changement logique
- Messages en anglais, style impératif