Learn

Le workflow pull request

Git

Brancher, pousser, ouvrir une PR, faire reviewer, fusionner. Le standard de l'industrie.

Le pull request (PR) est le rituel de l'industrie pour proposer un changement, le faire reviewer, puis le fusionner. Cette leçon couvre le cycle complet, vu depuis GitHub.

Pourquoi les pull requests existent

Pousser directement sur main est risqué dans un projet à plusieurs. Une PR crée un espace de discussion autour de tes changements : les autres peuvent lire le diff, laisser des commentaires, demander des modifications. Rien n'atterrit dans main sans avoir été relu.

Même en solo, ouvrir une PR est une bonne habitude : ça te force à relire ton propre diff avant de merger.

Étape 1 : créer une branche et pousser

shell
git switch -c fix/typos-readme

Fais tes modifications, commite-les :

shell
git add README.md
git commit -m "corrige les fautes dans le README"

Pousse la branche sur GitHub :

shell
git push -u origin fix/typos-readme

Étape 2 : ouvrir la PR sur GitHub

Après le push, GitHub t'affiche souvent une bannière "Compare & pull request". Sinon, va dans l'onglet Pull requests et clique New pull request.

Sélectionne :

  • base : la branche cible, généralement main.
  • compare : ta branche fix/typos-readme.

Remplis un titre clair et une description qui explique le pourquoi (pas seulement le quoi). Puis clique Create pull request.

GitHub Docs - Pull requests

Étape 3 : la review

Les reviewers lisent le diff dans l'onglet Files changed, ajoutent des commentaires ligne par ligne. Pour répondre à un retour, tu modifies ton code, tu commites, et tu pousses à nouveau sur la même branche. La PR se met à jour automatiquement.

shell
git add README.md
git commit -m "adresse les retours de review"
git push

Étape 4 : merger

Quand la PR est approuvée, tu (ou le mainteneur) clique Merge pull request sur GitHub. GitHub propose trois modes :

  • Create a merge commit : garde l'historique complet avec un merge commit. Mode par défaut.
  • Squash and merge : écrase tous les commits de la PR en un seul avant de merger. Historique plus propre.
  • Rebase and merge : rebase les commits sur main sans merge commit. Linéaire.

Après le merge, supprime la branche sur GitHub (bouton "Delete branch").

En local, mets à jour main et supprime la branche locale :

shell
git switch main
git pull
git branch -d fix/typos-readme

Coche les étapes pour débloquer la suite

Retour au cours