Sobre a GitHub CLI
A GitHub CLI é uma ferramenta de código aberto para uso do GitHub na linha de comando do computador. Quando você está trabalhando na linha de comando, você pode usar GitHub CLI para economizar tempo e evitar mudar o contexto. Para saber mais, confira Sobre o a CLI do GitHub.
É possível trabalhar com o GitHub Codespaces na GitHub CLI para fazer o seguinte:
- Listar todos os seus codespaces
- Criar um novo codespace
- Exibir detalhes de um codespace
- Parar um codespace
- Excluir um codespace
- Renomear um codespace
- Recompilar um codespace
- Usar o SSH em um codespace
- Abrir um codespace no Visual Studio Code
- Abrir um codespace no JupyterLab
- Copiar um arquivo de/para um codespace
- Modificar as portas em um codespace
- Acessar os logs do codespace
- Acessar recursos remotos
- Alterar o tipo de computador de um codespace
Como instalar a GitHub CLI
Para obter instruções de instalação para GitHub CLI, veja o repositório GitHub CLI.
Como usar a GitHub CLI
Se você ainda não fez isso, execute gh auth login
para se autenticar com sua conta do GitHub.
Para usar gh
a fim de trabalhar com o GitHub Codespaces, digite gh codespace SUBCOMMAND
ou o alias gh cs SUBCOMMAND
dele.
Como exemplo de uma série de comandos que você pode usar para trabalhar com GitHub Codespaces, você pode:
- Liste seus codespaces atuais para verificar se você tem um codespace para um repositório específico:
gh codespace list
- Crie um codespace para o branch do repositório necessário:
gh codespace create -r github/docs -b main
- Use o SSH no novo codespace:
gh codespace ssh -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq
- Encaminhe uma porta para o computador local:
gh codespace ports forward 8000:8000 -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq
Comandos gh
do GitHub Codespaces
As seções abaixo fornecem exemplos de comandos para cada uma das operações disponíveis.
Para ver uma referência completa de comandos gh
do GitHub Codespaces, incluindo detalhes de todas as opções disponíveis para cada comando, confira a ajuda online da GitHub CLI para gh codespace. Como alternativa, na linha de comando, use gh codespace --help
para ajuda geral ou gh codespace SUBCOMMAND --help
para ajuda com um subcomando específico.
Note
O sinalizador -c CODESPACE_NAME
, usado com muitos comandos, é opcional. Se você omitir, será exibida uma uma lista de codespaces para você escolher.
Listar todos os seus codespaces
gh codespace list
A lista inclui o nome exclusivo de cada codespace, que você pode usar em outros comandos gh codespace
.
Um asterisco no final do nome do branch de um codespace indica que há nele alterações não confirmadas ou não enviadas por push.
Criar um novo codespace
gh codespace create -r OWNER/REPO_NAME [-b BRANCH]
Para saber mais, confira Como criar um codespace para um repositório.
Exibir detalhes de um codespace
gh codespace view
Depois de executar esse comando, você será solicitado a escolher um de seus codespaces existentes. As informações a seguir são exibidas:
- Nome do codespace.
- Estado (por exemplo, "Disponível" ou "Desligamento")
- Repositório
- Status do Git
- Caminho para o arquivo de configuração de contêiner de desenvolvimento usado para criar o codespace
- Tipo de computador
- Tempo limite de ociosidade
- Data e hora em que o codespace foi criado.
- Período de retenção
Para obter mais informações, confira a referência da CLI do GitHub.
Parar um codespace
gh codespace stop -c CODESPACE-NAME
Para saber mais, confira Aprofundamento de GitHub Codespaces.
Excluir um codespace
gh codespace delete -c CODESPACE-NAME
Para saber mais, confira Excluir um codespace.
Renomear um codespace
gh codespace edit -c CODESPACE-NAME -d 'DISPLAY-NAME'
Para saber mais, confira Como renomear um codespace.
Recompilar um codespace
gh codespace rebuild
Para executar uma recompilação completa, adicione --full
no final deste comando. Para saber mais, confira Como recompilar o contêiner em um codespace.
Quando você usa esse comando para recompilar um codespace, ele usa o arquivo devcontainer.json
que está atualmente salvo no sistema do codespace. Isso acontece independentemente de o estado atual do arquivo ter sido salvo ou não no controle do código-fonte. Para saber mais, confira Introdução aos contêineres de desenvolvimento.
SSH em um codespace
Para executar comandos na máquina de codespace remoto, a partir do seu terminal, você pode fazer SSH no codespace.
gh codespace ssh -c CODESPACE-NAME
Note
O codespace ao qual você se conecta precisa estar executando um servidor SSH. A imagem de contêiner de desenvolvimento padrão inclui um servidor SSH, que é iniciado automaticamente. Se os codespaces não forem criados com base na imagem padrão, você poderá instalar e iniciar um servidor SSH adicionando o seguinte ao objeto features
no arquivo devcontainer.json
.
"features": {
// ...
"ghcr.io/devcontainers/features/sshd:1": {
"version": "latest"
},
// ...
}
Para obter mais informações sobre o arquivo devcontainer.json
e a imagem de contêiner padrão, confira Introdução aos contêineres de desenvolvimento.
O GitHub Codespaces cria uma chave SSH local automaticamente para oferecer uma experiência de autenticação perfeita. Para obter mais informações de como se conectar ao SSH, confira gh codespace ssh
.
Abrir um codespace em Visual Studio Code
gh codespace code -c CODESPACE-NAME
É necessário ter o VS Code instalado no computador local. Para saber mais, confira Como usar o GitHub Codespaces no Visual Studio Code.
Abrir um codespace no JupyterLab
gh codespace jupyter -c CODESPACE-NAME
O aplicativo JupyterLab deve ser instalado no codespace que você está abrindo. A imagem de contêiner de desenvolvimento padrão inclui o JupyterLab, portanto, os codespaces criados com base na imagem padrão sempre terão o JupyterLab instalado. Para obter mais informações sobre a imagem padrão, confira “Introdução aos contêineres de desenvolvimento” e o repositório devcontainers/images
. Se você não estiver usando a imagem padrão na configuração do contêiner de desenvolvimento, instale o JupyterLab adicionando o recurso ghcr.io/devcontainers/features/python
ao arquivo devcontainer.json
. Você deve incluir a opção "installJupyterlab": true
. Para obter mais informações, confira o README do recurso python
, no repositório devcontainers/features
.
Copiar um arquivo de/para um codespace
gh codespace cp [-r] SOURCE(S) DESTINATION
Use o prefixo remote:
em um nome de arquivo ou de diretório para indicar que ele está no codespace. Assim como no comando UNIX cp
, o primeiro argumento especifica a origem e o último especifica o destino. Se o destino for um diretório, você poderá especificar várias fontes. Use o sinalizador -r
(recursivo) se uma das fontes for um diretório.
O local dos arquivos e diretórios no codespace é relativo ao diretório principal do usuário remoto.
Exemplos
-
Copie um arquivo do computador local para o diretório
$HOME
de um codespace:gh codespace cp myfile.txt remote:
-
Copiar um arquivo para o diretório no qual se faz o check-out de um repositório em um codespace:
gh codespace cp myfile.txt remote:/workspaces/REPOSITORY-NAME
-
Copiarum arquivo de um código para o diretório atual na máquina local:
gh codespace cp remote:myfile.txt .
-
Copie três arquivos locais para o diretório
$HOME/temp
de um codespace:gh codespace cp a1.txt a2.txt a3.txt remote:temp
-
Copie três arquivos de um codespace para o diretório de trabalho atual na máquina local:
gh codespace cp remote:a1.txt remote:a2.txt remote:a3.txt .
-
Copie um diretório local para o diretório
$HOME
de um codespace:gh codespace cp -r mydir remote:
-
Copiar o diretório de um codespace para a máquina local, alterando o nome do diretório:
gh codespace cp -r remote:mydir mydir-localcopy
Para obter mais informações sobre o comando gh codespace cp
, incluindo sinalizadores adicionais que você pode usar, confira o manual da GitHub CLI.
Modificar portas em um codespace
Você pode encaminhar uma porta em um codespace para uma porta local. A porta será encaminhada enquanto o processo estiver em execução. Para interromper o encaminhamento da porta, pressione Control+C.
gh codespace ports forward CODESPACE-PORT_NAME:LOCAL-PORT-NAME -c CODESPACE-NAME
Para ver os detalhes das portas encaminhadas, insira gh codespace ports
e escolha um codespace.
Você pode definir a visibilidade de uma porta encaminhada. Há três configurações de visibilidade:
private
– Visível somente para você. Essa é a configuração padrão quando você encaminha uma porta.org
– Visível para os membros da organização que é o proprietário do repositório.public
– Visível para qualquer pessoa que conheça a URL e o número da porta.
gh codespace ports visibility CODESPACE-PORT:private|org|public -c CODESPACE-NAME
Você pode definir a visibilidade de várias portas com um comando. Por exemplo:
gh codespace ports visibility 80:private 3000:public 3306:org -c CODESPACE-NAME
Para saber mais, confira Encaminhar portas no seu código.
Acessar registros de codespaces
Você pode ver o registro de criação de um codespace. Depois de entrar neste comando será solicitado que você digite a senha da sua chave SSH.
gh codespace logs -c CODESPACE-NAME
Para saber mais sobre o log de criação, confira Logs do GitHub Codespaces.
Acessar recursos remotos
Você pode usar a extensão GitHub CLI para criar uma ponte entre um codespace e seu computador local, e o codespace possa acessar qualquer recurso remoto que esteja acessível em seu computador. Para obter mais informações sobre como usar a extensão, confira Como usar dados GitHub CLI para acessar recursos remotos.
Note
A extensão da GitHub CLI está atualmente em versão prévia pública e sujeita a alterações.
Alterar o tipo de computador de um codespace
gh codespace edit -m MACHINE-TYPE-NAME
Para saber mais, confira a guia "GitHub CLI" de Alterando o tipo de máquina para seu codespace.