Pull Requests GitHub
Les Pull Requests (PR) sont un élément central de la collaboration sur GitHub. Elles permettent de proposer des modifications de code de manière structurée et de faciliter la revue de code.
Création d’une Pull Request
- Créez une nouvelle branche pour vos modifications :
git checkout -b feature/nouvelle-fonctionnalite
- Effectuez vos modifications et committez-les :
git add .
git commit -m "Ajout de la nouvelle fonctionnalité"
- Poussez votre branche sur GitHub :
git push origin feature/nouvelle-fonctionnalite
- Sur GitHub, cliquez sur “Compare & pull request”
- Remplissez le titre et la description de votre PR
- Cliquez sur “Create pull request”
Bonnes pratiques
Description claire
Changements proposés
- Ajout de la fonctionnalité X
- Correction du bug Y
- Amélioration des performances de Z
Tests effectués
- Test unitaire A
- Test d’intégration B
Screenshots
[Si applicable]
Revue de code
- Demandez la revue à des personnes pertinentes
- Répondez aux commentaires de manière constructive
- Mettez à jour votre code selon les retours
Mise à jour de la PR
# Mettre à jour votre branche avec main
git checkout main
git pull
git checkout feature/nouvelle-fonctionnalite
git merge main
# Résoudre les conflits si nécessaire
git add .
git commit -m "Résolution des conflits"
git push
Fusion de la Pull Request
-
Attendez les validations nécessaires
-
Vérifiez que tous les tests passent
-
Choisissez la méthode de fusion :
- Merge commit : conserve l’historique complet
- Squash and merge : combine tous les commits en un seul
- Rebase and merge : réapplique les commits sur la branche principale
-
Cliquez sur “Merge pull request”
-
Supprimez la branche après la fusion
Commandes Git utiles
# Voir les différences
git diff main feature/nouvelle-fonctionnalite
# Récupérer une PR localement
git fetch origin pull/ID/head:nom-branche
# Nettoyer les branches
git branch -d feature/nouvelle-fonctionnalite # local
git push origin --delete feature/nouvelle-fonctionnalite # remote
Automatisation
GitHub Actions
name: PR Checks
on: [pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run tests
run: |
npm install
npm test
Protection de branche
- Exiger des revues de code
- Vérifier le statut des tests
- Empêcher les push directs sur main
Ces pratiques garantissent un processus de développement collaboratif efficace et maintiennent la qualité du code.
mis à jour le