Les Pull Requests Git

Proposer des modifications et les faire valider

Utilisez les flèches, cliquez ou glissez pour naviguer

Objectifs de la leçon

1. Comprendre les Pull Requests

Ce que c'est et à quoi ça sert

2. Ouvrir une PR sur GitHub

Le processus étape par étape

3. Comprendre les conflits

Pourquoi ils arrivent

4. Résoudre les conflits

La méthode pas à pas

Plan de la présentation

1. Qu'est-ce qu'une PR ?

Définition et concept

2. Pourquoi utiliser des PRs ?

Les avantages

3. Ouvrir une PR sur GitHub

Guide pratique

4. Résoudre les conflits

Quand deux personnes modifient le même endroit

Qu'est-ce qu'une Pull Request ?

Une demande d'intégrer vos modifications

Analogie : Comme rendre un devoir pour que le professeur le corrige

Votre branche
Pull Request
Branche principale

Pourquoi utiliser des Pull Requests ?

🔍

Review qualité

D'autres personnes vérifient votre code

💬

Discussion constructive

Feedback et suggestions d'amélioration

📚

Historique clair

Documentation de chaque changement

🛡️

Protection

La branche principale reste stable

Le workflow d'une Pull Request

1

Créer une branche pour vos modifications

2

Faire des modifications et les commiter

3

Pousser la branche sur GitHub

4

Ouvrir la Pull Request

5

Discussion et review avec l'équipe

6

Merge dans la branche principale

Anatomie d'une Pull Request

Titre

Description courte du changement

Description

Explications détaillées du "pourquoi"

Commits

Liste des modifications

Files changed

Différences ligne par ligne

Comments

Discussion et feedback

Status checks

Tests automatisés

Étape 1 - Créer une branche

# Créer et basculer sur une nouvelle branche

git checkout -b ma-fonctionnalite

# Faire des modifications puis...

git add .

git commit -m "Ajouter nouvelle fonctionnalité"

# Pousser sur GitHub

git push origin ma-fonctionnalite

Astuce : Donnez un nom clair à votre branche qui décrit le changement

Étape 2 - Ouvrir la PR sur GitHub

1

Aller sur github.com/votre-repo

2

Cliquer sur "Compare & pull request"

3

Vérifier : base: maincompare: ma-fonctionnalite

4

Remplir le titre et la description

5

Cliquer sur "Create pull request"

Étape 3 - Review et Merge

Les reviewers peuvent :

  • Approuver la PR
  • Commenter le code
  • Demander des modifications

Options de merge :

  • Merge - Garder tous les commits
  • Squash - Un seul commit
  • Rebase - Historique linéaire

💡 Bonne pratique : Attendez au moins une approbation avant de merger

Les Conflits de Merge

Quand deux personnes modifient le même endroit

Git ne sait pas quelle version garder

Il vous demande de décider

Pourquoi les conflits arrivent ?

1

Deux personnes modifient le même fichier

Sur des branches différentes

2

Les modifications sont sur les mêmes lignes

Git ne peut pas les fusionner automatiquement

3

Une branche est en retard sur l'autre

La base a changé entre-temps

<<<<<<< HEAD

Votre modification

=======

Modification de l'autre personne

>>>>>>> autre-branche

Résoudre un conflit - Étape par étape

1

Identifier les fichiers

Git vous dit quels fichiers sont en conflit

2

Ouvrir les fichiers

Chercher les marqueurs de conflit

3

Choisir la version

Garder une version ou combiner les deux

4

Supprimer les marqueurs

Enlever les lignes ajoutées par Git

5

Ajouter et commiter

git add . puis git commit

6

Pousser

git push pour mettre à jour la PR

Exemple de résolution

❌ Avant (avec conflit)

// Dans app.js

<<<<<<< HEAD

const name = "Alice";

=======

const name = "Bob";

>>>>>>> feature

✅ Après (résolu)

// Dans app.js

const name = "Alice";

// Ou combiner les deux :

const names = ["Alice", "Bob"];

💡 Conseil : Communiquez avec votre équipe pour décider quelle solution garder

Récapitulatif

✓ Pull Request

Proposition de modifications à intégrer

✓ Toujours une branche

Ne jamais travailler directement sur main

✓ Conflits = normaux

Ils arrivent et se résolvent facilement

✓ Communiquez

La discussion évite les problèmes

Des questions ?