Le workflow le plus simple qui fonctionne
GitHub Flow est un modèle pragmatique et léger : main est toujours déployable; tout le reste est une branche de courte durée derrière une pull request.
Les six étapes
- Créer une branche depuis
main. - Ajouter des commits.
- Ouvrir une pull request.
- Discuter et relire.
- Déployer (optionnel).
- Merger sur
main.
Un exemple travaillé
git checkout main
git pull
git checkout -b feature/avatar-upload
git push -u origin feature/avatar-upload
gh pr create --fill
gh pr merge --squash --delete-branch
git checkout main
git pull
Trois stratégies de merge
- Merge commit.
- Squash and merge.
- Rebase and merge.
Branch protection
- Requérir un PR avant le merge.
- Requérir des status checks.
- Requérir au moins une review approuvée.
- Interdire les pushes directs.
- Requérir optionnellement un historique linéaire.
Workflow quotidien
git checkout main && git pull
git checkout -b fix/login-redirect
git push -u origin fix/login-redirect
gh pr create --title "Fix login redirect" --body "Fixes #123"
gh pr merge --squash --delete-branch
git checkout main && git pull
git branch -d fix/login-redirect
Bonnes pratiques par-dessus
- Gardez les PRs sous 400 lignes de diff.
- Une préoccupation par PR.
- Ouvrez les PRs tôt en brouillons.
- Auto-réviser avant de demander la review.