Back

Comment créer des Pull Requests depuis votre Terminal

Comment créer des Pull Requests depuis votre Terminal

Les pull requests (PRs) sont fondamentales pour le développement collaboratif sur GitHub, permettant la revue de code et la discussion avant que les modifications ne soient fusionnées. Ce guide explique comment créer et gérer efficacement les PRs en utilisant le terminal, principalement avec GitHub CLI (gh).

Points clés

  • Apprenez à utiliser GitHub CLI pour la gestion des PRs
  • Maîtrisez les flux de travail des PRs en ligne de commande
  • Suivez les meilleures pratiques pour la création de PRs
  • Gérez les scénarios courants de dépannage
  • Implémentez des fonctionnalités avancées de PR

Prérequis

Avant de commencer, assurez-vous d’avoir :

Configuration de GitHub CLI

Installation

Choisissez votre système d’exploitation :

macOS

# Avec Homebrew
brew install gh

# Avec MacPorts
sudo port install gh

Linux

# Debian/Ubuntu
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo ""deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main"" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh

# Fedora
sudo dnf install gh

# Arch Linux
sudo pacman -S github-cli

Windows

# Avec Scoop
scoop install gh

# Avec Winget
winget install --id GitHub.cli

Authentification

Après l’installation, authentifiez-vous avec GitHub :

gh auth login

Suivez les instructions interactives pour compléter l’authentification. Vous pouvez choisir entre les protocoles HTTPS ou SSH.

Création d’une Pull Request

1. Préparer votre branche

# Mettre à jour votre branche principale locale
git checkout main
git pull origin main

# Créer et basculer vers une nouvelle branche de fonctionnalité
git checkout -b feature/nom-de-votre-fonctionnalité

2. Effectuer et valider les modifications

# Indexer toutes les modifications
git add .

# Créer un commit avec un message descriptif
git commit -m ""feat: implémentation de nouvelle fonctionnalité

- Ajout de nouvelle fonctionnalité
- Mise à jour de la documentation
- Correction de problèmes associés""

3. Pousser les modifications

# Pousser votre branche vers GitHub
git push -u origin feature/nom-de-votre-fonctionnalité

4. Créer la Pull Request

Utilisation de GitHub CLI (Recommandé)

Création basique de PR

gh pr create --title ""Fonctionnalité : Implémentation de nouvelle fonctionnalité"" --body ""Description des modifications""

Création avancée de PR

gh pr create 
  --title ""Fonctionnalité : Implémentation de nouvelle fonctionnalité"" 
  --body ""## Modifications
- Implémentation de nouvelle fonctionnalité
- Mise à jour des tests
- Ajout de documentation

## Problèmes associés
Ferme #123"" 
  --base main 
  --head feature/nom-de-votre-fonctionnalité 
  --reviewer utilisateur1,utilisateur2 
  --label ""amélioration,documentation"" 
  --milestone ""v1.0.0"" 
  --project ""Tableau de projet""

5. Gestion de votre PR

# Voir la PR dans le navigateur
gh pr view --web

# Vérifier le statut de la PR
gh pr status

# Lister toutes les PRs
gh pr list

# Ajouter des relecteurs à une PR existante
gh pr edit --add-reviewer utilisateur1,utilisateur2

# Ajouter des étiquettes
gh pr edit --add-label ""priorité,bug""

Meilleures pratiques

  1. Nommage des branches
    • Utilisez des préfixes descriptifs : feature/, fix/, docs/, refactor/
    • Incluez le numéro du problème si applicable : feature/123-authentification-utilisateur
  2. Messages de commit
    • Suivez les commits conventionnels (Convention)
    • Incluez la portée et la description
    • Référencez les problèmes : ""fixes #123""
  3. Description de PR
    • Utilisez des modèles si disponibles
    • Incluez le contexte et le raisonnement
    • Listez les problèmes associés et les dépendances
    • Ajoutez des captures d’écran pour les changements d’interface utilisateur
  4. Revue de code
    • Répondez rapidement aux commentaires
    • Mettez à jour la description de la PR si nécessaire
    • Résolvez rapidement les conflits

Dépannage

Problèmes courants et solutions

  1. Échec d’authentification

    gh auth login --web
    
  2. Push rejeté

    git pull origin main
    git rebase main
    git push -f origin feature/nom-de-votre-fonctionnalité
    
  3. Conflits de fusion

    git checkout main
    git pull
    git checkout feature/nom-de-votre-fonctionnalité
    git rebase main
    # Résoudre les conflits et continuer
    git rebase --continue
    

Fonctionnalités avancées

PRs en mode brouillon

gh pr create --draft

Modèles de PR

Créez un fichier .github/pull_request_template.md dans votre dépôt pour des descriptions de PR standardisées.

Automatisation de la création de PR

Vous pouvez créer des alias shell ou des scripts pour les modèles de PR courants :

# Ajouter à .bashrc ou .zshrc
alias pr-create='gh pr create --template ""template.md"" --label ""needs-review""'

N’oubliez pas de maintenir votre GitHub CLI à jour pour les dernières fonctionnalités :

# Mettre à jour GitHub CLI
gh update

FAQs

[TOGGLE question=""Que faire si l’authentification échoue ?"" answer=""Utilisez gh auth login --web pour vous authentifier via votre navigateur au lieu de l’interface terminal.""]

[TOGGLE question=""Comment gérer les push rejetés ?"" answer=""1. Récupérez les dernières modifications : git pull origin mainn2. Rebasez votre branche : git rebase mainn3. Forcez le push : git push -f origin feature/nom-de-votre-fonctionnalité""]

[TOGGLE question=""Comment résoudre les conflits de fusion ?"" answer=""1. Basculez sur main : git checkout mainn2. Récupérez les dernières modifications : git pulln3. Revenez à votre branche : git checkout feature/nom-de-votre-fonctionnalitén4. Rebasez : git rebase mainn5. Résolvez les conflits et continuez : git rebase --continue""]

[TOGGLE question=""Puis-je créer des PRs en mode brouillon ?"" answer=""Oui, utilisez l’option --draft : gh pr create --draft""]

[TOGGLE question=""Comment utiliser les modèles de PR ?"" answer=""Créez un fichier .github/pull_request_template.md dans votre dépôt pour des descriptions de PR standardisées.""]

Conclusion

Maîtriser l’approche en ligne de commande pour créer et gérer des pull requests peut considérablement améliorer votre flux de travail de développement. GitHub CLI (gh) fournit un ensemble puissant d’outils qui rationalisent le processus de PR, de la création à la fusion. En suivant les meilleures pratiques décrites dans ce guide et en utilisant les fonctionnalités de GitHub CLI, vous pouvez :

  • Gagner du temps en évitant les changements de contexte entre le terminal et le navigateur
  • Maintenir une qualité constante des PRs grâce aux modèles et conventions
  • Gérer efficacement les défis courants liés aux PRs
  • Automatiser les tâches répétitives liées aux PRs

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers