{"meta":{"title":"Использование кодовых пространств GitHub с GitHub CLI","intro":"Вы можете работать с GitHub Codespaces непосредственно из командной строки с помощью ghинтерфейса командной строки GitHub .","product":"Codespaces","breadcrumbs":[{"href":"/ru/codespaces","title":"Codespaces"},{"href":"/ru/codespaces/developing-in-a-codespace","title":"Разработка в codespace"},{"href":"/ru/codespaces/developing-in-a-codespace/using-github-codespaces-with-github-cli","title":"Интерфейс командной строки GitHub"}],"documentType":"article"},"body":"# Использование кодовых пространств GitHub с GitHub CLI\n\nВы можете работать с GitHub Codespaces непосредственно из командной строки с помощью ghинтерфейса командной строки GitHub .\n\n## Сведения о GitHub CLI\n\nGitHub CLI — это инструмент с открытым исходным кодом для использования GitHub из командной строки компьютера. При работе с командной строкой можно использовать GitHub CLI — это позволит экономить время и не переключать контекст. Дополнительные сведения см. в разделе [О GitHub CLI](/ru/github-cli/github-cli/about-github-cli).\n\nВы можете работать с GitHub Codespaces в GitHub CLI:\n\n* [Список всех пространств кода](#list-all-of-your-codespaces)\n* [Создание нового пространства кода](#create-a-new-codespace)\n* [Просмотр сведений о пространстве кода](#view-details-of-a-codespace)\n* [Остановка codespace](#stop-a-codespace)\n* [Удаление codespace](#delete-a-codespace)\n* [Переименование пространства кода](#rename-a-codespace)\n* [Перестроение пространства кода](#rebuild-a-codespace)\n* [Выполнения SSH в codespace](#ssh-into-a-codespace)\n* [Открытие codespace в Visual Studio Code](#open-a-codespace-in-visual-studio-code)\n* [Открытие codespace в JupyterLab](#open-a-codespace-in-jupyterlab)\n* [Копирование файла в пространство кода и из нее](#copy-a-file-tofrom-a-codespace)\n* [Изменение портов в codespace](#modify-ports-in-a-codespace)\n* [Доступ к журналам codespace](#access-codespace-logs)\n* [Получение доступа к удаленным ресурсам](#access-remote-resources)\n* [Изменение типа компьютера пространства кода](#change-the-machine-type-of-a-codespace)\n\n## Установка GitHub CLI\n\nИнструкции по установке для GitHub CLI см. в [репозитории GitHub CLI](https://github.com/cli/cli#installation).\n\n## Использование GitHub CLI\n\nЕсли вы еще этого не сделали, выполните `gh auth login` для проверки подлинности с помощью учетной записи GitHub.\n\nДля работы `gh` с GitHub Codespaces, введите `gh codespace SUBCOMMAND` или его псевдоним `gh cs SUBCOMMAND`.\n\nВ качестве примера ряда команд, которые можно использовать для работы с GitHub Codespaces, вы можете:\n\n* Создать список текущих codespace, чтобы проверить наличие codespace для определенного репозитория:<br>\n  `gh codespace list`\n* Создать новый codespace для требуемой ветви репозитория:<br>\n  `gh codespace create -r github/docs -b main`\n* Выполнения SSH в новом codespace:<br>\n  `gh codespace ssh -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq`\n* Переадресуйте порт на локальный компьютер:<br>\n  `gh codespace ports forward 8000:8000 -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq`\n\n## Команды `gh` для GitHub Codespaces\n\nВ следующих разделах приведены примеры команд для каждой из доступных операций.\n\nПолный справочник `gh` по командам для GitHub Codespaces, включая сведения обо всех доступных параметрах для каждой команды, см. в справке GitHub CLI в интернете для [пространства](https://cli.github.com/manual/gh_codespace) кода gh. Кроме того, в командной строке используйте `gh codespace --help` общую справку или `gh codespace SUBCOMMAND --help` справку по определенному подкомандам.\n\n> \\[!NOTE]\n> Флаг `-c CODESPACE_NAME` , используемый со многими командами, является необязательным. Если он пропущен, отобразится список codespace для выбора.\n\n### Список всех пространств кода\n\n```shell\ngh codespace list\n```\n\nСписок содержит уникальное имя каждого codespace, которое можно использовать в других командах `gh codespace`.\n\nЗвездочка в конце имени ветви для пространства кода указывает на то, что в этом пространстве кода есть незафиксированные или незафиксированные изменения.\n\n### Создание нового пространства кода\n\n```shell\ngh codespace create -r OWNER/REPO_NAME [-b BRANCH]\n```\n\nДополнительные сведения см. в разделе [Создание пространства кода для репозитория](/ru/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository).\n\n### Просмотр сведений о пространстве кода\n\n```shell\ngh codespace view\n```\n\nПосле выполнения этой команды вам будет предложено выбрать одно из существующих пространств кода. Затем отображаются следующие сведения:\n\n* Имя пространства кода\n* Состояние (например, \"Доступно\" или \"Завершение работы\")\n* Репозиторий\n* Состояние Git\n* Путь к файлу конфигурации контейнера разработки, используемому для создания пространства кода\n* Тип компьютера\n* Время ожидания перед переходом в режим простоя\n* Дата и время создания пространства кода\n* Период хранения\n\nДополнительные сведения см. в справочнике[ по интерфейсу командной ](https://cli.github.com/manual/gh_codespace_view)строки GitHub.\n\n### Остановка codespace\n\n```shell\ngh codespace stop -c CODESPACE-NAME\n```\n\nДополнительные сведения см. в разделе [Подробные сведения о GitHub Codespaces](/ru/codespaces/about-codespaces/deep-dive#closing-or-stopping-your-codespace).\n\n### Удаление codespace\n\n```shell\ngh codespace delete -c CODESPACE-NAME\n```\n\nДополнительные сведения см. в разделе [Удаление codespace](/ru/codespaces/developing-in-a-codespace/deleting-a-codespace).\n\n### Переименование пространства кода\n\n```shell\ngh codespace edit -c CODESPACE-NAME -d 'DISPLAY-NAME'\n```\n\nДополнительные сведения см. в разделе [Переименование codespace](/ru/codespaces/customizing-your-codespace/renaming-a-codespace?tool=cli).\n\n### Перестроение пространства кода\n\n```shell\ngh codespace rebuild\n```\n\nЧтобы выполнить полную перестроение, добавьте `--full` в конце этой команды. Дополнительные сведения см. в разделе [Перестроение контейнера в пространстве кода](/ru/codespaces/developing-in-a-codespace/rebuilding-the-container-in-a-codespace).\n\nПри использовании этой команды для перестроения пространства кода используется `devcontainer.json` файл, который в настоящее время сохраняется в системе пространства кода. Это происходит независимо от того, сохранено ли текущее состояние файла в системе управления версиями. Дополнительные сведения см. в разделе [Основные сведения о контейнерах разработки](/ru/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers).\n\n### Выполнения SSH в codespace\n\nЧтобы выполнить команды на удаленном компьютере с codespace, вы можете выполнить SSH в codespace в терминале.\n\n```shell\ngh codespace ssh -c CODESPACE-NAME\n```\n\n> \\[!NOTE]\n> Пространство кода, к которому вы подключаетесь, должно работать на сервере SSH. Образ контейнера разработки по умолчанию включает сервер SSH, который запускается автоматически. Если пространства кода не создаются на основе образа по умолчанию, можно установить и запустить сервер SSH, добавив следующий `features` объект в `devcontainer.json` файл.\n>\n> ```jsonc\n> \"features\": {\n> // ...\n> \"ghcr.io/devcontainers/features/sshd:1\": {\n> \"version\": \"latest\"\n> },\n> // ...\n> }\n> ```\n>\n> Дополнительные сведения о `devcontainer.json` файле и образе контейнера по умолчанию см. в разделе [Основные сведения о контейнерах разработки](/ru/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers).\n\nGitHub Codespaces автоматически создает локальный ключ SSH для обеспечения простой проверки подлинности. Дополнительные сведения о подключении с помощью SSH см. в статье [`gh codespace ssh`](https://cli.github.com/manual/gh_codespace_ssh).\n\n### Открытие codespace в Visual Studio Code\n\n```shell\ngh codespace code -c CODESPACE-NAME\n```\n\nНа локальном компьютере должен быть установлен VS Code. Дополнительные сведения см. в разделе [Использование кодовых пространств GitHub в Visual Studio Code](/ru/codespaces/developing-in-a-codespace/using-github-codespaces-in-visual-studio-code).\n\n### Открытие codespace в JupyterLab\n\n```shell\ngh codespace jupyter -c CODESPACE-NAME\n```\n\nПриложение JupyterLab должно быть установлено в открываемом пространстве кода. Образ контейнера разработки по умолчанию включает JupyterLab, поэтому пространства кода, созданные на основе образа по умолчанию, всегда будут установлены JupyterLab. Дополнительные сведения о образе по умолчанию см. в разделе AUTOTITLE и репозитория[](https://github.com/devcontainers/images/tree/main/src/universal)`devcontainers/images`.[ ](/ru/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#using-the-default-dev-container-configuration) Если вы не используете образ по умолчанию в конфигурации контейнера разработки, можно установить JupyterLab, добавив `ghcr.io/devcontainers/features/python` эту функцию в `devcontainer.json` файл. Этот параметр `\"installJupyterlab\": true`следует включить. Дополнительные сведения см. в разделе README для [`python`](https://github.com/devcontainers/features/tree/main/src/python#python-python) функции в репозитории.`devcontainers/features`\n\n### Копирование файла в пространство кода и из нее\n\n```shell\ngh codespace cp [-r] SOURCE(S) DESTINATION\n```\n\nИспользуйте префикс `remote:` в имени файла или каталога, чтобы указать, что он находится в codespace. Как и в случае с командой `cp` UNIX, первый аргумент указывает источник, а последний — назначение. Если назначение является каталогом, можно указать несколько источников. Используйте флаг (рекурсивный) `-r`, если какой-либо из источников является каталогом.\n\nРасположение файлов и каталогов в codespace относится к домашнему каталогу удаленного пользователя.\n\n#### Примеры\n\n* Скопируйте файл с локального компьютера в каталог `$HOME` codespace:\n\n  `gh codespace cp myfile.txt remote:`\n\n* Скопируйте файл в каталог, в котором репозиторий получен для изменения в codespace:\n\n  `gh codespace cp myfile.txt remote:/workspaces/REPOSITORY-NAME`\n\n* Скопируйте файл из codespace в текущий каталог на локальном компьютере:\n\n  `gh codespace cp remote:myfile.txt .`\n\n* Скопируйте три локальных файла в каталог `$HOME/temp` codespace:\n\n  `gh codespace cp a1.txt a2.txt a3.txt remote:temp`\n\n* Скопируйте три файла из codespace в текущую рабочую папку на локальном компьютере:\n\n  `gh codespace cp remote:a1.txt remote:a2.txt remote:a3.txt .`\n\n* Скопируйте локальный каталог в каталог `$HOME` codespace:\n\n  `gh codespace cp -r mydir remote:`\n\n* Скопируйте каталог из codespace на локальный компьютер, изменив имя каталога:\n\n  `gh codespace cp -r remote:mydir mydir-localcopy`\n\nДополнительные сведения о команде `gh codespace cp`, включая дополнительные флаги, которые можно использовать, см. в [руководстве по GitHub CLI](https://cli.github.com/manual/gh_codespace_cp).\n\n### Изменение портов в codespace\n\nВы можете переадресовать порт в codespace на локальный порт. Порт остается переадресованным, пока выполняется процесс. Чтобы остановить переадресацию порта, нажмите клавиши <kbd>Control</kbd>+<kbd>C</kbd>.\n\n```shell\ngh codespace ports forward CODESPACE-PORT_NAME:LOCAL-PORT-NAME -c CODESPACE-NAME\n```\n\nЧтобы просмотреть сведения о переадресованных портах, введите `gh codespace ports` и выберите кодовое пространство.\n\nВы можете задать видимость переадресованного порта. Существует три варианта видимости.\n\n* `private` — объект виден только вам. Это вариант по умолчанию при переадресации порта.\n* `org` — объект виден членам организации, которой принадлежит репозиторий.\n* `public` — объект виден всем, кто знает URL-адрес и номер порта.\n\n```shell\ngh codespace ports visibility CODESPACE-PORT:private|org|public -c CODESPACE-NAME\n```\n\nЗадать видимость для нескольких портов можно с помощью одной команды. Например:\n\n```shell\ngh codespace ports visibility 80:private 3000:public 3306:org -c CODESPACE-NAME\n```\n\nДополнительные сведения см. в разделе [Переадресация портов в вашем codespace](/ru/codespaces/developing-in-a-codespace/forwarding-ports-in-your-codespace).\n\n### Доступ к журналам codespace\n\nВы можете просматривать журнал создания для codespace. После ввода этой команды появится запрос на ввод парольной фразы для ключа SSH.\n\n```shell\ngh codespace logs -c CODESPACE-NAME\n```\n\nДополнительные сведения о журнале создания см. в разделе [Логи кодовых пространств GitHub](/ru/codespaces/troubleshooting/github-codespaces-logs#creation-logs).\n\n### Получение доступа к удаленным ресурсам\n\nВы можете использовать расширение GitHub CLI, чтобы создать мост между codespace и вашим локальным компьютером, чтобы разрешить codespace обращаться к любому удаленному ресурсу, доступному с вашего компьютера. Дополнительные сведения об использовании расширения см. в статье [\"Использование GitHub CLI для доступа к удаленным ресурсам](https://github.com/github/gh-net#codespaces-network-bridge).\n\n> \\[!NOTE]\n> Расширение GitHub CLI в настоящее время находится в public preview и подлежит изменению.\n\n### Изменение типа компьютера пространства кода\n\n```shell\ngh codespace edit -m MACHINE-TYPE-NAME\n```\n\nДополнительные сведения см. на вкладке [\"GitHub CLI\" autoTITLE](/ru/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace)."}