Skip to main content

Usando GitHub Codespaces com o GitHub CLI

Você pode trabalhar com GitHub Codespaces diretamente na linha de comando usando , a interface de linha de comando do GitHub.

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 AUTOTITLE.

É 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 portas em um codespace
  • Acessar registros de codespaces
  • 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 para se autenticar com sua conta do GitHub.

Para usar a fim de trabalhar com o GitHub Codespaces, digite ou o alias 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 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 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 para ajuda geral ou para ajuda com um subcomando específico.

Observação

O sinalizador , usado com muitos comandos, é opcional. Se você omitir, será exibida 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 .

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 AUTOTITLE.

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 "Desligado")
  • 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 inatividade
  • 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 AUTOTITLE.

Excluir um codespace

gh codespace delete -c CODESPACE-NAME

Para saber mais, confira AUTOTITLE.

Renomear um codespace

gh codespace edit -c CODESPACE-NAME -d 'DISPLAY-NAME'

Para saber mais, confira AUTOTITLE.

Recompilar um codespace

gh codespace rebuild

Para executar uma recompilação completa, adicione no final deste comando. Para saber mais, confira AUTOTITLE.

Quando você usa esse comando para recompilar um codespace, ele usa o arquivo 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 AUTOTITLE.

SSH em um codespace

Para executar comandos no ambiente remoto do codespace, usando seu terminal, você pode conectar-se via SSH ao codespace.

gh codespace ssh -c CODESPACE-NAME

Observação

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 e a imagem de contêiner padrão, confira AUTOTITLE.

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 .

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 AUTOTITLE.

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 em um nome de arquivo ou de diretório para indicar que ele está no codespace. Assim como no comando UNIX , 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 (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 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

  • Copiar um arquivo de um codespace para o diretório atual na máquina local.

    gh codespace cp remote:myfile.txt .

  • Copie três arquivos locais para o diretório 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 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 , 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 ControlC.

gh codespace ports forward CODESPACE-PORT_NAME:LOCAL-PORT-NAME -c CODESPACE-NAME

Para ver os detalhes das portas encaminhadas, insira 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 AUTOTITLE.

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 AUTOTITLE.

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.

Observação

A extensão do 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 aba "GitHub CLI" de AUTOTITLE.