Skip to main content

Utilisation de GitHub Codespaces avec l’interface CLI de GitHub

Vous pouvez utiliser GitHub Codespaces directement à partir de votre ligne de commande à l’aide de gh, l’interface de ligne de commande GitHub Enterprise Cloud.

À propos de GitHub CLI

GitHub CLI est un outil open source permettant d’utiliser GitHub à partir de la ligne de commande de votre ordinateur. Lorsque vous travaillez à partir de la ligne de commande, vous pouvez utiliser l’GitHub CLI pour gagner du temps et éviter de changer de contexte. Pour plus d’informations, consultez « À propos de GitHub CLI ».

Vous pouvez utiliser GitHub Codespaces dans GitHub CLI pour :

Installation de GitHub CLI

Pour obtenir des instructions d’installation pour GitHub CLI, consultez le dépôt GitHub CLI.

Utilisation de GitHub CLI

Si vous ne l’avez déjà fait, exécutez gh auth login pour vous authentifier auprès de votre compte GitHub.

Pour utiliser gh pour travailler avec GitHub Codespaces, tapez gh codespace SUBCOMMAND ou son alias gh cs SUBCOMMAND.

En guise d’exemple de série de commandes que vous pourriez pour travailler avec GitHub Codespaces, vous pouvez :

  • Répertorier vos codespaces actuels pour vérifier si vous disposez d’un codespace pour un dépôt particulier :
    gh codespace list
  • Créer un codespace pour la branche de dépôt requise :
    gh codespace create -r github/docs -b main
  • Établir une connexion SSH au nouveau codespace :
    gh codespace ssh -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq
  • Transférer un port vers votre ordinateur local :
    gh codespace ports forward 8000:8000 -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq

Commandes gh pour GitHub Codespaces

Les sections ci-dessous donnent des exemples de commandes pour chacune des opérations disponibles.

Pour obtenir une référence complète des commandes gh pour GitHub Codespaces, incluant des détails sur toutes les options disponibles pour chaque commande, consultez l’aide en ligne de GitHub CLI pour « gh codespace ». Sur la ligne de commande, vous pouvez également utiliser gh codespace --help pour obtenir une aide générale ou gh codespace SUBCOMMAND --help pour obtenir une aide sur une sous-commande spécifique.

Remarque : l’indicateur -c CODESPACE_NAME utilisé avec de nombreuses commandes est facultative. Si vous l’omettez, une liste de codespaces s’affiche, dans laquelle vous pouvez opérer un choix.

Répertorier tous codespaces

gh codespace list

La liste inclut le nom unique de chaque espace de codespace, que vous pouvez utiliser dans d’autres commandes gh codespace.

Un astérisque à la fin du nom d’une branche d’un codespace indique qu’il existe des modifications non validées ou non envoyées dans ce codespace.

Créer un codespace

gh codespace create -r OWNER/REPO_NAME [-b BRANCH]

Pour plus d’informations, consultez « Création d’un codespace pour un dépôt ».

Afficher les détails d’un codespace

gh codespace view

Après avoir exécuté cette commande, vous êtes invité à choisir l’un de vos codespaces existants. Les informations suivantes sont alors affichées :

  • Nom du codespace
  • État (par exemple, « Disponible » ou « Arrêt »)
  • Référentiel
  • État de Git
  • Chemin d’accès au fichier de configuration du conteneur de développement utilisé pour créer le codespace
  • Type de machine
  • Délai d’inactivité
  • Date et heure de création du codespace
  • Période de rétention

Pour plus d’informations, consultez Référence CLI GitHub.

Arrêter un codespace

gh codespace stop -c CODESPACE-NAME

Pour plus d’informations, consultez « Présentation approfondie de GitHub Codespaces ».

Supprimer un codespace

gh codespace delete -c CODESPACE-NAME

Pour plus d’informations, consultez « Suppression d’un codespace ».

Renommer un codespace

gh codespace edit -c CODESPACE-NAME -d 'DISPLAY-NAME'

Pour plus d’informations, consultez « Renommage d’un codespace ».

Recréer un codespace

gh codespace rebuild

Pour effectuer une recréation complète, ajoutez --full à la fin de cette commande. Pour plus d’informations, consultez « Regénération du conteneur dans un codespace ».

Lorsque vous utilisez cette commande pour recréer un codespace, celle-ci utilise le fichier devcontainer.json actuellement enregistré dans le système du codespace. Cela se produit que l’état actuel du fichier ait été enregistré ou non dans le contrôle de code source. Pour plus d’informations, consultez « Présentation des conteneurs de développement ».

Établir une connexion SSH à un codespace

Pour exécuter des commandes sur la machine de codespace distante, à partir de votre terminal, vous pouvez établir une connexion SSH au codespace.

gh codespace ssh -c CODESPACE-NAME

Remarque : Le codespace auquel vous vous connectez doit exécuter un serveur SSH. L’image conteneur de développeur par défaut comprend un serveur SSH, qui est démarré automatiquement. Si vos codespaces ne sont pas créés à partir de l’image par défaut, vous pouvez installer et démarrer un serveur SSH en ajoutant ce qui suit à l’objet features dans votre fichier devcontainer.json.

"features": {
    // ...
    "ghcr.io/devcontainers/features/sshd:1": {
        "version": "latest"
    },
    // ...
}


Pour plus d’informations sur le fichier devcontainer.json et l’image conteneur par défaut, consultez « Présentation des conteneurs de développement ».

GitHub Codespaces crée automatiquement une clé SSH locale pour fournir une expérience d’authentification fluide. Pour plus d’informations sur la connexion avec SSH, consultez gh codespace ssh.

Ouvrir un codespace dans Visual Studio Code

gh codespace code -c CODESPACE-NAME

Vous devez avoir installé VS Code sur votre machine locale. Pour plus d’informations, consultez « Utilisation de GitHub Codespaces dans Visual Studio Code ».

Ouvrir un espace de code dans JupyterLab

gh codespace jupyter -c CODESPACE-NAME

L’application JupyterLab doit être installée dans le codespace que vous ouvrez. L’image conteneur de développeur par défaut comprend JupyterLab, donc les codespaces créés à partir de l’image par défaut ont toujours JupyterLab installé. Pour plus d’informations sur l’image par défaut, consultez « Présentation des conteneurs de développement » et le dépôt devcontainers/images. Si vous n’utilisez pas l’image par défaut dans votre configuration de conteneur de développement, vous pouvez installer JupyterLab en ajoutant le composant ghcr.io/devcontainers/features/python à votre fichier devcontainer.json. Vous devez inclure l’option "installJupyterlab": true. Pour plus d’informations, consultez le fichier README du composant python dans le dépôt devcontainers/features.

Copier un fichier vers/depuis un codespace

gh codespace cp [-r] SOURCE(S) DESTINATION

Utilisez le préfixe remote: sur un nom de fichier ou de répertoire pour indiquer qu’il se trouve sur le codespace. Comme avec la commande UNIX cp, le premier argument spécifie la source, et le dernier spécifie la destination. Si la destination est un répertoire, vous pouvez spécifier plusieurs sources. Utilisez l’indicateur -r (récursif) si l’une des sources est un répertoire.

L’emplacement des fichiers et répertoires sur le codespace est relatif au répertoire de base de l’utilisateur distant.

Exemples

  • Copier un fichier de l’ordinateur local vers le répertoire $HOME d’un codespace :

    gh codespace cp myfile.txt remote:

  • Copier un fichier vers le répertoire dans lequel un dépôt est extrait dans un codespace :

    gh codespace cp myfile.txt remote:/workspaces/REPOSITORY-NAME

  • Copier un fichier à partir d’un codespace vers le répertoire actif sur l’ordinateur local :

    gh codespace cp remote:myfile.txt .

  • Copier trois fichiers locaux vers le répertoire $HOME/temp d’un codespace :

    gh codespace cp a1.txt a2.txt a3.txt remote:temp

  • Copier trois fichiers d’un codespace vers le répertoire de travail actuel sur l’ordinateur local :

    gh codespace cp remote:a1.txt remote:a2.txt remote:a3.txt .

  • Copier un répertoire local vers le répertoire $HOME d’un codespace :

    gh codespace cp -r mydir remote:

  • Copier un répertoire à partir d’un codespace vers l’ordinateur local, en modifiant le nom du répertoire :

    gh codespace cp -r remote:mydir mydir-localcopy

Pour plus d’informations sur la commande gh codespace cp, y compris les indicateurs supplémentaires que vous pouvez utiliser, consultez le manuel GitHub CLI.

Modifier des ports dans un codespace

Vous pouvez transférer un port sur un codespace vers un port local. Le port reste transféré tant que le processus est en cours d’exécution. Pour arrêter le transfert du port, appuyez sur Ctrl+C.

gh codespace ports forward CODESPACE-PORT_NAME:LOCAL-PORT-NAME -c CODESPACE-NAME

Pour afficher les détails de ports transférés, entrez gh codespace ports, puis choisissez un codespace.

Vous pouvez définir la visibilité d’un port transféré. Il existe trois paramètres de visibilité :

  • private - Visible uniquement par vous. Il s’agit du paramètre par défaut quand vous transférez un port.
  • org - Visible par les membres de l’organisation propriétaire du dépôt.
  • public - Visible par toute personne connaissant l’URL et le numéro de port.
gh codespace ports visibility CODESPACE-PORT:private|org|public -c CODESPACE-NAME

Vous pouvez définir la visibilité de plusieurs ports avec une seule commande. Par exemple :

gh codespace ports visibility 80:private 3000:public 3306:org -c CODESPACE-NAME

Pour plus d’informations, consultez « Transfert de ports dans votre espace de code ».

Accéder aux journaux de codespace

Vous pouvez voir le journal de création d’un codespace. Après avoir entré cette commande, vous êtes invité à entrer la phrase secrète pour votre clé SSH.

gh codespace logs -c CODESPACE-NAME

Pour plus d’informations sur le journal de création, consultez « Journaux GitHub Codespaces ».

Accéder aux ressources distantes

Vous pouvez utiliser l’extension GitHub CLI pour créer un pont entre un codespace et votre ordinateur local, afin que le codespace puisse accéder à n’importe quelle ressource distante accessible à partir de votre ordinateur. Pour plus d’informations sur l’utilisation de l’extension, consultez « Utilisation de GitHub CLI pour accéder aux ressources distantes ».

Remarque : L’extension GitHub CLI est actuellement en version bêta et peut faire l’objet de modification.

Modifier le type de machine d’un codespace

gh codespace edit -m MACHINE-TYPE-NAME

Pour plus d’informations, consultez les informations sur l’onglet GitHub CLI dans « Modification du type de machine pour votre espace de code ».