Сведения о 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
Дополнительные сведения см. в разделе Переименование 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".