Skip to main content

Использование GitHub Codespaces с GitHub CLI

Вы можете работать с GitHub Codespaces непосредственно из командной строки с помощью ghинтерфейса командной строки GitHub .

Сведения о GitHub CLI

GitHub CLI — это инструмент с открытым исходным кодом для использования GitHub из командной строки компьютера. При работе с командной строкой можно использовать GitHub CLI — это позволит экономить время и не переключать контекст. Дополнительные сведения см. в разделе Сведения о GitHub CLI.

Вы можете работать с GitHub Codespaces в GitHub CLI:

Установка GitHub CLI

Инструкции по установке для GitHub CLI см. в репозитории GitHub CLI.

Использование GitHub CLI

Если вы еще этого не сделали, выполните gh auth login для проверки подлинности с помощью учетной записи GitHub.

Для работы gh с GitHub Codespaces, введите gh codespace SUBCOMMAND или его псевдоним gh cs SUBCOMMAND.

В качестве примера ряда команд, которые можно использовать для работы с GitHub Codespaces, вы можете:

  • Создать список текущих codespace, чтобы проверить наличие codespace для определенного репозитория:
    gh codespace list
  • Создать новый codespace для требуемой ветви репозитория:
    gh codespace create -r github/docs -b main
  • Выполнения SSH в новом codespace:
    gh codespace ssh -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq
  • Переадресуйте порт на локальный компьютер:
    gh codespace ports forward 8000:8000 -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq

Команды gh для GitHub Codespaces

В следующих разделах приведены примеры команд для каждой из доступных операций.

Полный справочник gh по командам для GitHub Codespaces, включая сведения обо всех доступных параметрах для каждой команды, см. в справке GitHub CLI в интернете для пространства кода gh. Кроме того, в командной строке используйте gh codespace --help общую справку или gh codespace SUBCOMMAND --help справку по определенному подкомандам.

Примечание.

Флаг -c CODESPACE_NAME , используемый со многими командами, является необязательным. Если он пропущен, отобразится список codespace для выбора.

Перечисление всех codespace

gh codespace list

Список содержит уникальное имя каждого codespace, которое можно использовать в других командах gh codespace.

Звездочка в конце имени ветви для пространства кода указывает на то, что в этом пространстве кода есть незафиксированные или незафиксированные изменения.

Создание нового codespace

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

Дополнительные сведения см. в разделе Создание пространства кода для репозитория.

Просмотр сведений о пространстве кода

gh codespace view

После выполнения этой команды вам будет предложено выбрать одно из существующих пространств кода. Затем отображаются следующие сведения:

  • Имя пространства кода
  • Состояние (например, "Доступно" или "Завершение работы")
  • Репозиторий
  • Состояние Git
  • Путь к файлу конфигурации контейнера разработки, используемому для создания пространства кода
  • Тип компьютера
  • Время ожидания перед переходом в режим простоя
  • Дата и время создания пространства кода
  • Период хранения

Дополнительные сведения см. в справочнике по интерфейсу командной строки GitHub.

Остановка codespace

gh codespace stop -c CODESPACE-NAME

Дополнительные сведения см. в разделе Подробные сведения о GitHub Codespaces.

Удаление codespace

gh codespace delete -c CODESPACE-NAME

Дополнительные сведения см. в разделе Удаление codespace.

Переименование пространства кода

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

Дополнительные сведения см. в разделе Переименование codespace.

Перестроение пространства кода

gh codespace rebuild

Чтобы выполнить полную перестроение, добавьте --full в конце этой команды. Дополнительные сведения см. в разделе Перестроение контейнера в пространстве кода.

При использовании этой команды для перестроения пространства кода используется devcontainer.json файл, который в настоящее время сохраняется в системе пространства кода. Это происходит независимо от того, сохранено ли текущее состояние файла в системе управления версиями. Дополнительные сведения см. в разделе Основные сведения о контейнерах разработки.

Выполнения SSH в codespace

Чтобы выполнить команды на удаленном компьютере с codespace, вы можете выполнить SSH в codespace в терминале.

gh codespace ssh -c CODESPACE-NAME

Примечание.

Пространство кода, к которому вы подключаетесь, должно работать на сервере SSH. Образ контейнера разработки по умолчанию включает сервер SSH, который запускается ав��оматически. Если пространства кода не создаются на основе образа по умолчанию, можно установить и запустить сервер SSH, добавив следующий features объект в devcontainer.json файл.

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

Дополнительные сведения о devcontainer.json файле и образе контейнера по умолчанию см. в разделе Основные сведения о контейнерах разработки.

GitHub Codespaces автоматически создает локальный ключ SSH для обеспечения простой проверки подлинности. Дополнительные сведения о подключении с помощью SSH см. в статье gh codespace ssh.

Открытие codespace в Visual Studio Code

gh codespace code -c CODESPACE-NAME

На локальном компьютере должен быть установлен VS Code. Дополнительные сведения см. в разделе Использование GitHub Codespaces в Visual Studio Code.

Открытие codespace в JupyterLab

gh codespace jupyter -c CODESPACE-NAME

Приложение JupyterLab должно быть установлено в открываемом пространстве кода. Образ контейнера разработки по умолчанию включает JupyterLab, поэтому пространства кода, созданные на основе образа по умолчанию, всегда будут установлены JupyterLab. Дополнительные сведения о образе по умолчанию см. в разделе AUTOTITLE и репозиторияdevcontainers/images. Если вы не используете образ по умолчанию в конфигурации контейнера разработки, можно установить JupyterLab, добавив ghcr.io/devcontainers/features/python эту функцию в devcontainer.json файл. Этот параметр "installJupyterlab": trueследует включить. Дополнительные сведения см. в разделе README для python функции в репозитории.devcontainers/features

Копирование файла в codespace или из него

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

Используйте префикс remote: в имени файла или каталога, чтобы указать, что он находится в codespace. Как и в случае с командой cp UNIX, первый аргумент указывает источник, а последний — назначение. Если назначение является каталогом, можно указать несколько источников. Используйте флаг (рекурсивный) -r, если какой-либо из источников является каталогом.

Расположение файлов и каталогов в codespace относится к домашнему каталогу удаленного пользователя.

Примеры

  • Скопируйте файл с локального компьютера в каталог $HOME codespace:

    gh codespace cp myfile.txt remote:

  • Скопируйте файл в каталог, в котором репозиторий получен для изменения в codespace:

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

  • Скопируйте файл из codespace в текущий каталог на локальном компьютере:

    gh codespace cp remote:myfile.txt .

  • Скопируйте три локальных файла в каталог $HOME/temp codespace:

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

  • Скопируйте три файла из codespace в текущую рабочую папку на локальном компьютере:

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

  • Скопируйте локальный каталог в каталог $HOME codespace:

    gh codespace cp -r mydir remote:

  • Скопируйте каталог из codespace на локальный компьютер, изменив имя каталога:

    gh codespace cp -r remote:mydir mydir-localcopy

Дополнительные сведения о команде gh codespace cp, включая дополнительные флаги, которые можно использовать, см. в руководстве по GitHub CLI.

Изменение портов в codespace

Вы можете переадресовать порт в codespace на локальный порт. Порт оста��тся переадресованным, пока выполняется процесс. Чтобы остановить переадресацию порта, нажмите клавиши Control+C.

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

Чтобы просмотреть сведения о переадресованных портах, введите gh codespace ports и выберите кодовое пространство.

Вы можете задать видимость переадресованного порта. Существует три варианта видимости.

  • private — объект виден только вам. Это вариант по умолчанию при переадресации порта.
  • org — объект виден членам организации, которой принадлежит репозиторий.
  • public — объект виден всем, кто знает URL-адрес и номер порта.
gh codespace ports visibility CODESPACE-PORT:private|org|public -c CODESPACE-NAME

Задать видимость для нескольких портов можно с помощью одной команды. Например:

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

Дополнительные сведения см. в разделе Переадресация портов в вашем codespace.

Доступ к журналам codespace

Вы можете просматривать журнал создания для codespace. После ввода этой команды появится запрос на ввод парольной фразы для ключа SSH.

gh codespace logs -c CODESPACE-NAME

Дополнительные сведения о журнале создания см. в разделе Журналы GitHub Codespaces.

Получение доступа к удаленным ресурсам

Вы можете использовать расширение GitHub CLI, чтобы создать мост между codespace и вашим локальным компьютером, чтобы разрешить codespace обращаться к любому удаленному ресурсу, доступному с вашего компьютера. Дополнительные сведения об использовании расширения см. в статье "Использование GitHub CLI для доступа к удаленным ресурсам.

Примечание.

Расширение GitHub CLI в настоящее время находится в public preview и подлежит изменению.

Изменение типа компьютера пространства кода

gh codespace edit -m MACHINE-TYPE-NAME

Дополнительные сведения см. на вкладке "GitHub CLI" autoTITLE.