Сведения о GitHub CLI
GitHub CLI — это инструмент с открытым исходным кодом для использования GitHub из командной строки компьютера. При работе с командной строкой можно использовать GitHub CLI — это позволит экономить время и не переключать контекст. Дополнительные сведения см. в статьях Сведения о GitHub CLI.
Вы можете работать с GitHub Codespaces в GitHub CLI, чтобы:
- Перечисление всех codespace
- Создание нового codespace
- Остановка codespace
- Удаление codespace
- Переименование codespace
- Выполнения SSH в codespace
- Открытие codespace в Visual Studio Code
- Открытие codespace в JupyterLab
- Копирование файла в codespace или из него
- Изменение портов в codespace
- Доступ к журналам codespace
- Получение доступа к удаленным ресурсам
- Изменение типа компьютера codespace
Установка 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
Дополнительные сведения см. в разделе Переименование пространства кода.
Выполнения SSH в codespace
Чтобы выполнить команды на удаленном компьютере с codespace, вы можете выполнить SSH в codespace в терминале.
gh codespace ssh -c CODESPACE-NAME
Примечание. На сервере codespace, к которому вы подключаетесь, должен быть запущен 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 относится к домашнему каталогу удаленного пользователя.
Примеры
-
Скопируйте файл с локального компьютера в каталог
$HOMEcodespace:gh codespace cp myfile.txt remote: -
Скопируйте файл в каталог, в котором репозиторий получен для изменения в codespace:
gh codespace cp myfile.txt remote:/workspaces/REPOSITORY-NAME -
Скопируйте файл из codespace в текущий каталог на локальном компьютере:
gh codespace cp remote:myfile.txt . -
Скопируйте три локальных файла в каталог
$HOME/tempcodespace:gh codespace cp a1.txt a2.txt a3.txt remote:temp -
Скопируйте три файла из codespace в текущую рабочую папку на локальном компьютере:
gh codespace cp remote:a1.txt remote:a2.txt remote:a3.txt . -
Скопируйте локальный каталог в каталог
$HOMEcodespace: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".

