Aller au contenu
> 💻 🧠 Code 1001 > 📚 Supports d'Apprentissage > Git > GitHub > Qu’est-ce que GitHub CLI ?

Qu’est-ce que GitHub CLI ?

CLI est pratique pour les développeurs, les ingénieurs DevOps et tous ceux qui automatisent le travail avec GitHub ou préfèrent le terminal au navigateur.


Installation

GitHub CLI est pris en charge sur Windows, macOS et Linux.

  • Linux (Ubuntu/Debian) :
sudo apt install gh
  • macOS (via Homebrew) :
brew install gh
  • Windows (via Winget) :
winget install --id GitHub.cli

Après l’installation, vérifiez la version :

gh --version

Autorisation

Pour accéder aux dépôts et actions privés, vous devez vous autoriser :

gh auth login

CLI proposera :

  • choisir GitHub.com ou GitHub Enterprise
  • méthode d’autorisation (navigateur, jeton, SSH)
  • enregistrer les données pour les exécutions ultérieures

Vous pouvez vérifier le statut avec la commande :

gh auth status

Fonctionnalités principales

Travailler avec les dépôts

Création d’un nouveau dépôt :

gh repo create my-project

Clonage :

gh repo clone owner/repo

Affichage des informations :

gh repo view owner/repo

Issues

Création d’une issue :

gh issue create --title "Bug: crash on startup" --body "Steps to reproduce..."

Liste des issues :

gh issue list

Affichage d’une issue spécifique :

gh issue view 42

Pull Requests

Création d’une pull request :

gh pr create --base main --head feature-branch --title "New feature" --body "Added new functionality"

Affichage :

gh pr list
gh pr view 123

Fusion :

gh pr merge 123 --squash --delete-branch

Actions (CI/CD)

Exécution des workflows :

gh workflow run build.yml

Affichage du statut :

gh run list

Commandes utiles

CommandeObjectif
gh helplister toutes les commandes
gh alias set co "pr checkout"créer un alias pour une commande rapide
gh gist create file.txttélécharger un fichier en tant que gist
gh release create v1.0.0créer une release

Avantages de GitHub CLI

  • Gain de temps : travailler avec GitHub sans navigateur.
  • Scripting : pratique pour automatiser en bash/PowerShell.
  • Intégration avec CI/CD.
  • Outil unique pour les commandes et l’API GitHub.

Excellent 🚀 Alors, créons une liste de contrôle « TOP-10 des commandes GitHub CLI pour une utilisation quotidienne ». Elle peut être utilisée comme aide-mémoire.


✅ TOP-10 des commandes GitHub CLI pour une utilisation quotidienne

1. Autorisation

gh auth login

🔑 Autorisation dans GitHub via le navigateur ou un jeton. Utile pour la configuration initiale ou le changement de compte.


2. Vérifier le statut d’autorisation

gh auth status

📌 Vérifie si le CLI est connecté à GitHub et comment.


3. Cloner un dépôt

gh repo clone owner/repo

📥 Clonage rapide d’un dépôt sans rechercher le lien dans l’interface web.


4. Créer un nouveau dépôt

gh repo create my-project

🆕 Créer un dépôt directement depuis le terminal (local + sur GitHub).


5. Afficher les informations du dépôt

gh repo view --web

📖 Affiche la description et les paramètres du dépôt. L’option --web ouvre immédiatement la page dans le navigateur.


6. Lister les issues

gh issue list

📋 Pratique pour afficher les tâches et les bugs directement dans le terminal.


7. Créer une issue

gh issue create --title "Bug: login failed" --body "Steps to reproduce..."

🐞 Crée une nouvelle tâche ou un rapport de bug.


8. Créer une Pull Request

gh pr create --base main --head feature-branch --title "New feature" --body "Description..."

🔀 Outil principal pour le travail d’équipe : ouvrir une Pull Request depuis votre branche.


9. Afficher et vérifier une PR

gh pr view 123

👀 Afficher une Pull Request avec les commentaires et les statuts de vérification. Vous pouvez ajouter --web pour ouvrir dans le navigateur.


10. Fusionner une PR avec suppression de branche

gh pr merge 123 --squash --delete-branch

✅ Fusionner une Pull Request + supprimer la branche en une seule étape.


📌 GitHub CLI — Aide-mémoire

🔑 Autorisation et paramètres

CommandeObjectifExemple
gh auth loginAutorisation (navigateur, jeton, SSH)gh auth login
gh auth statusVérifier la connexion actuellegh auth status
gh alias set co "pr checkout"Créer un alias pour une commande rapidegh alias set co "pr checkout"
gh config getObtenir les paramètres du CLIgh config get editor

📂 Dépôts

CommandeObjectifExemple
gh repo createCréer un dépôtgh repo create my-project
gh repo cloneCloner un dépôtgh repo clone hypo69/hypotez
gh repo viewInfos sur le dépôt (ou ouvrir dans le web)gh repo view --web
gh repo forkForker un dépôtgh repo fork owner/repo

📝 Issues

CommandeObjectifExemple
gh issue listLister les tâchesgh issue list
gh issue createCréer une issuegh issue create --title "Bug" --body "Steps..."
gh issue viewAfficher une issuegh issue view 42
gh issue closeFermer une issuegh issue close 42

🔀 Pull Requests

CommandeObjectifExemple
gh pr listLister les PRgh pr list
gh pr createCréer une PRgh pr create --base main --head feature-x
gh pr viewAfficher une PRgh pr view 123 --web
gh pr checkoutBasculer vers la branche de PRgh pr checkout 123
gh pr mergeFusionner une PRgh pr merge 123 --squash --delete-branch

📦 Releases

CommandeObjectifExemple
gh release listLister les releasesgh release list
gh release createCréer une releasegh release create v1.0.0 --notes "First release"
gh release uploadAjouter un fichier à une releasegh release upload v1.0.0 build.zip
gh release viewAfficher une releasegh release view v1.0.0

📜 Gists

CommandeObjectifExemple
gh gist createCréer un gistgh gist create file.txt
gh gist listLister les gistsgh gist list
gh gist viewAfficher un gistgh gist view abc123
gh gist editModifier un gistgh gist edit abc123

⚙️ Workflows (GitHub Actions)

CommandeObjectifExemple
gh workflow listLister les workflowsgh workflow list
gh workflow viewAfficher un workflowgh workflow view build.yml
gh workflow runExécuter un workflowgh workflow run build.yml
gh run listLister les exécutionsgh run list
gh run watchSurveiller une exécutiongh run watch 123456789

GitHub CLI

Qu’est-ce que GitHub CLI ?

GitHub CLI (en abrégé gh) est un outil en ligne de commande qui vous permet de travailler avec GitHub directement depuis le terminal. Avec lui, vous pouvez gérer les dépôts, les issues, les pull requests, les releases et d’autres entités sans avoir à vous rendre sur l’interface web de GitHub.

CLI est pratique pour les développeurs, les ingénieurs DevOps et tous ceux qui automatisent le travail avec GitHub ou préfèrent le terminal au navigateur.


Installation

GitHub CLI est pris en charge sur Windows, macOS et Linux.

  • Linux (Ubuntu/Debian) :
sudo apt install gh
  • macOS (via Homebrew) :
brew install gh
  • Windows (via Winget) :
winget install --id GitHub.cli

Après l’installation, vérifiez la version :

gh --version

Autorisation

Pour accéder aux dépôts et actions privés, vous devez vous autoriser :

gh auth login

CLI proposera :

  • choisir GitHub.com ou GitHub Enterprise
  • méthode d’autorisation (navigateur, jeton, SSH)
  • enregistrer les données pour les exécutions ultérieures

Vous pouvez vérifier le statut avec la commande :

gh auth status

Fonctionnalités principales

Travailler avec les dépôts

Création d’un nouveau dépôt :

gh repo create my-project

Clonage :

gh repo clone owner/repo

Affichage des informations :

gh repo view owner/repo

Issues

Création d’une issue :

gh issue create --title "Bug: crash on startup" --body "Steps to reproduce..."

Liste des issues :

gh issue list

Affichage d’une issue spécifique :

gh issue view 42

Pull Requests

Création d’une pull request :

gh pr create --base main --head feature-branch --title "New feature" --body "Added new functionality"

Affichage :

gh pr list
gh pr view 123

Fusion :

gh pr merge 123 --squash --delete-branch

Actions (CI/CD)

Exécution des workflows :

gh workflow run build.yml

Affichage du statut :

gh run list

Commandes utiles

CommandeObjectif
gh helplister toutes les commandes
gh alias set co "pr checkout"créer un alias pour une commande rapide
gh gist create file.txttélécharger un fichier en tant que gist
gh release create v1.0.0créer une release

Avantages de GitHub CLI

  • Gain de temps : travailler avec GitHub sans navigateur.
  • Scripting : pratique pour automatiser en bash/PowerShell.
  • Intégration avec CI/CD.
  • Outil unique pour les commandes et l’API GitHub.

Excellent 🚀 Alors, créons une liste de contrôle « TOP-10 des commandes GitHub CLI pour une utilisation quotidienne ». Elle peut être utilisée comme aide-mémoire.


✅ TOP-10 des commandes GitHub CLI pour une utilisation quotidienne

1. Autorisation

gh auth login

🔑 Autorisation dans GitHub via le navigateur ou un jeton. Utile pour la configuration initiale ou le changement de compte.


2. Vérifier le statut d’autorisation

gh auth status

📌 Vérifie si le CLI est connecté à GitHub et comment.


3. Cloner un dépôt

gh repo clone owner/repo

📥 Clonage rapide d’un dépôt sans rechercher le lien dans l’interface web.


4. Créer un nouveau dépôt

gh repo create my-project

🆕 Créer un dépôt directement depuis le terminal (local + sur GitHub).


5. Afficher les informations du dépôt

gh repo view --web

📖 Affiche la description et les paramètres du dépôt. L’option --web ouvre immédiatement la page dans le navigateur.


6. Lister les issues

gh issue list

📋 Pratique pour afficher les tâches et les bugs directement dans le terminal.


7. Créer une issue

gh issue create --title "Bug: login failed" --body "Steps to reproduce..."

🐞 Crée une nouvelle tâche ou un rapport de bug.


8. Créer une Pull Request

gh pr create --base main --head feature-branch --title "New feature" --body "Description..."

🔀 Outil principal pour le travail d’équipe : ouvrir une Pull Request depuis votre branche.


9. Afficher et vérifier une PR

gh pr view 123

👀 Afficher une Pull Request avec les commentaires et les statuts de vérification. Vous pouvez ajouter --web pour ouvrir dans le navigateur.


10. Fusionner une PR avec suppression de branche

gh pr merge 123 --squash --delete-branch

✅ Fusionner une Pull Request + supprimer la branche en une seule étape.


📌 GitHub CLI — Aide-mémoire

🔑 Autorisation et paramètres

CommandeObjectifExemple
gh auth loginAutorisation (navigateur, jeton, SSH)gh auth login
gh auth statusVérifier la connexion actuellegh auth status
gh alias set co "pr checkout"Créer un alias pour une commande rapidegh alias set co "pr checkout"
gh config getObtenir les paramètres du CLIgh config get editor

📂 Dépôts

CommandeObjectifExemple
gh repo createCréer un dépôtgh repo create my-project
gh repo cloneCloner un dépôtgh repo clone hypo69/hypotez
gh repo viewInfos sur le dépôt (ou ouvrir dans le web)gh repo view --web
gh repo forkForker un dépôtgh repo fork owner/repo

📝 Issues

CommandeObjectifExemple
gh issue listLister les tâchesgh issue list
gh issue createCréer une issuegh issue create --title "Bug" --body "Steps..."
gh issue viewAfficher une issuegh issue view 42
gh issue closeFermer une issuegh issue close 42

🔀 Pull Requests

CommandeObjectifExemple
gh pr listLister les PRgh pr list
gh pr createCréer une PRgh pr create --base main --head feature-x
gh pr viewAfficher une PRgh pr view 123 --web
gh pr checkoutBasculer vers la branche de PRgh pr checkout 123
gh pr mergeFusionner une PRgh pr merge 123 --squash --delete-branch

📦 Releases

CommandeObjectifExemple
gh release listLister les releasesgh release list
gh release createCréer une releasegh release create v1.0.0 --notes "First release"
gh release uploadAjouter un fichier à une releasegh release upload v1.0.0 build.zip
gh release viewAfficher une releasegh release view v1.0.0

📜 Gists

CommandeObjectifExemple
gh gist createCréer un gistgh gist create file.txt
gh gist listLister les gistsgh gist list
gh gist viewAfficher un gistgh gist view abc123
gh gist editModifier un gistgh gist edit abc123

⚙️ Workflows (GitHub Actions)

CommandeObjectifExemple
gh workflow listLister les workflowsgh workflow list
gh workflow viewAfficher un workflowgh workflow view build.yml
gh workflow runExécuter un workflowgh workflow run build.yml
gh run listLister les exécutionsgh run list
gh run watchSurveiller une exécutiongh run watch 123456789
Étiquettes:

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *