$_
StemLegacy
Phase 4GitHub

#15 GitHub CLI

gh repo, gh pr, gh issue

C'est quoi gh ?

gh est l'outil en ligne de commande officiel de GitHub. Il permet de faire depuis le terminal tout ce que vous feriez normalement sur le site web de GitHub : créer des dépôts, gérer des pull requests, des issues, et bien plus.

gh auth -- S'authentifier

Avant d'utiliser gh, vous devez vous connecter à votre compte GitHub. Utilisez gh auth login pour lancer le processus d'authentification, puis vérifiez avec gh auth status :

Vérifier l'authentification
$ gh auth status
github.com
  ✓ Logged in to github.com account alice (keyring)
  - Active account: true
  - Git operations protocol: https
  - Token: gho_****
  - Token scopes: gist, read:org, repo, workflow

gh repo -- Gérer les dépôts

Créez un nouveau dépôt directement depuis le terminal avec gh repo create :

Créer un dépôt
$ gh repo create mon-app --public
✓ Created repository alice/mon-app on GitHub
  https://github.com/alice/mon-app

Clonez un dépôt existant avec gh repo clone :

Cloner un dépôt
$ gh repo clone alice/mon-app
Cloning into 'mon-app'...
done.

gh pr -- Gérer les Pull Requests

Créez une pull request depuis votre branche courante :

Créer une PR
$ gh pr create --title "Add feature" --body "Description"
Creating pull request for feature into main in alice/mon-projet

https://github.com/alice/mon-projet/pull/1

Listez les PR ouvertes avec gh pr list :

Lister les PR
$ gh pr list
Showing 2 of 2 open pull requests in alice/mon-projet

#2  Fix bug      fix-bug     OPEN
#1  Add feature  feature     OPEN

Vous pouvez aussi utiliser gh pr view pour voir les détails d'une PR et gh pr merge pour la fusionner.

gh issue -- Gérer les issues

Les issues servent à signaler des bugs ou demander des fonctionnalités. Créez-en une depuis le terminal :

Créer une issue
$ gh issue create --title "Bug report" --body "Details"
Creating issue in alice/mon-projet

https://github.com/alice/mon-projet/issues/1

Listez les issues ouvertes :

Lister les issues
$ gh issue list
Showing 1 of 1 open issue in alice/mon-projet

#1  Bug report  OPEN  about 1 minute ago

gh workflow -- Gérer les workflows

GitHub Actions permet d'automatiser des tâches (tests, déploiement, etc.). Avec gh workflow, vous pouvez lister et déclencher ces workflows :

Lister les workflows
$ gh workflow list
Deploy   deploy.yml   active
Tests    tests.yml    active
Déclencher un workflow
$ gh workflow run tests.yml
✓ Created workflow_dispatch event for tests.yml

To see runs for this workflow, try: gh run list --workflow=tests.yml

Récapitulatif

Résumé
gh auth login                              # Se connecter
gh auth status                             # Vérifier la connexion
gh repo create nom --public                # Créer un dépôt
gh repo clone user/repo                    # Cloner un dépôt
gh pr create --title "..." --body "..."    # Créer une PR
gh pr list                                 # Lister les PR
gh issue create --title "..." --body "..." # Créer une issue
gh issue list                              # Lister les issues
gh workflow list                           # Lister les workflows
gh workflow run fichier.yml                # Déclencher un workflow

À vous de jouer

Essayez les commandes de GitHub CLI dans le terminal ci-dessous. Commencez par gh auth status pour vérifier votre connexion.

terminal — bash
user@stemlegacy:~/mon-projet$