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 :
- Git installé et configuré (Télécharger Git)
- GitHub CLI (
gh
) installé (Documentation GitHub CLI) - Un compte GitHub (S’inscrire)
- Accès au dépôt et permissions nécessaires
- Connaissance de base des commandes Git
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
- 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
- Utilisez des préfixes descriptifs :
- Messages de commit
- Suivez les commits conventionnels (Convention)
- Incluez la portée et la description
- Référencez les problèmes : ""fixes #123""
- 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
- 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
-
Échec d’authentification
gh auth login --web
-
Push rejeté
git pull origin main git rebase main git push -f origin feature/nom-de-votre-fonctionnalité
-
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 main
n2. Rebasez votre branche : git rebase main
n3. 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 main
n2. Récupérez les dernières modifications : git pull
n3. Revenez à votre branche : git checkout feature/nom-de-votre-fonctionnalité
n4. Rebasez : git rebase main
n5. 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