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 codespace. Кроме того, в командной строке используйте gh codespace --help для общей справки или gh codespace SUBCOMMAND --help справки по определенной подкоманде.

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

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

gh codespace list

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

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

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

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

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

Остановка codespace

gh codespace stop -c CODESPACE-NAME

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

Удаление codespace

gh codespace delete -c CODESPACE-NAME

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

Переименование codespace

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

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

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

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

gh codespace ssh -c CODESPACE-NAME

Примечание. Пространство кода, к которому вы подключаетесь, должно работать на SSH-сервере. Образ контейнера по умолчанию включает SSH-сервер, который запускается автоматически. Если codespaces не создаются из образа по умолчанию, можно установить и запустить сервер 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, поэтому в codespace, созданных из образа по умолчанию, всегда будет установлен JupyterLab. Дополнительные сведения об образе по умолчанию см. в разделе Основные сведения о контейнерах разработки и репозиторийdevcontainers/images. Если вы не используете образ по умолчанию в конфигурации контейнера разработки, можно установить JupyterLab, добавив компонент в ghcr.io/devcontainers/features/python devcontainer.json файл. Необходимо включить параметр "installJupyterlab": true. Дополнительные сведения см. в файле сведений о 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. После ввода этой команды появится запрос на ввод парольной фразы для ключа SSH.

gh codespace logs -c CODESPACE-NAME

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

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

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

Примечание. Расширение GitHub CLI сейчас предоставляется в бета-версии и подлежит изменениям.

Изменение типа компьютера codespace

gh codespace edit -m MACHINE-TYPE-NAME

Дополнительные сведения см. на вкладке "GitHub CLI" раздела "Изменение типа компьютера для codespace".