Сведения о GitHub CLI
GitHub CLI — это инструмент с открытым исходным кодом для использования GitHub из командной строки компьютера. При работе с командной строкой можно использовать GitHub CLI — это позволит экономить время и не переключать контекст. Дополнительные сведения см. в разделе "Сведения о GitHub CLI".
Вы можете работать с GitHub Codespaces в GitHub CLI:
- Список всех пространств кода
- Создание нового пространства кода
- Просмотр сведений о пространстве кода
- Остановка codespace
- Удаление codespace
- Переименование пространства кода
- Перестроение пространства кода
- Выполнения SSH в codespace
- Открытие codespace в Visual Studio Code
- Открытие codespace в JupyterLab
- Копирование файла в пространство кода и из нее
- Изменение портов в 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
справку по определенному подкомандам.
Note
Флаг -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
Note
Пространство кода, к которому вы подключаетесь, должно работать на сервере 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 для получения доступа к удаленным ресурсам.
Note
Расширение GitHub CLI в настоящее время находится в public preview и подлежит изменению.
Изменение типа компьютера пространства кода
gh codespace edit -m MACHINE-TYPE-NAME
Дополнительные сведения см. на вкладке "GitHub CLI" элемента AUTOTITLE.