Skip to main content

Using GitHub Codespaces with GitHub CLI

Puedes trabajar con los Acerca de GitHub Codespaces directamente desde tu línea de comandos utilizando gh, la interfaz de línea de comandos de GitHub.

Acerca de GitHub Codespaces está disponible para las organizaciones que utilizan GitHub Team o Nube de GitHub Enterprise. Para obtener más información, consulta la sección "Productos de GitHub".

Acerca de CLI de GitHub

CLI de GitHub es una herramienta de código abierto para utilizar GitHub desde la línea de comandos de tu computadora. Cuando trabajas desde la línea de comandos, puedes utilizar el CLI de GitHub para ahorrar tiempo y evitar cambiar de contexto. Para obtener más información, consulta la sección "Acerca de CLI de GitHub".

Puedes trabajar con los Codespaces en el CLI de GitHub para:

Instalar CLI de GitHub

Para encontrar instrucciones de instalación para el CLI de GitHub, consulta el Repositorio del CLI de GitHub.

Uso de CLI de GitHub

Si no lo has hecho aún, ejecuta gh auth login para autenticarte con tu cuenta de GitHub.

Para utilizar gh para trabajar con los Codespaces, teclea gh codespace <COMMAND> o su alias gh cs <COMMAND>.

Como ejemplo de una serie de comandos que podrías utilizar para trabajar con los Acerca de GitHub Codespaces, podrías:

  • Listar tus codespaces actuales para verificar si tienes un codespace para un repositorio particular:
    gh codespace list
  • Crear un codespace nuevo para la rama de repositorio requerida:
    gh codespace create -r github/docs -b main
  • Ingresar por SSH en el codespace nuevo:
    gh codespace ssh -c mona-github-docs-v4qxrv7rfwv9w
  • Reenviar un puerto a tu máquina local:
    gh codespace ports forward 8000:8000 -c mona-github-docs-v4qxrv7rfwv9w

Comandos de gh para Acerca de GitHub Codespaces

La siguiente sección proporciona comandos de ejemplo para cada una de las operaciones disponibles.

Para obtener una referencia completa de los comandos de gh para Acerca de GitHub Codespaces, incluyendo los detalles de todas las opciones disponibles para cada uno de ellos, consulta la ayuda en línea del CLI de GitHub y busca "gh codespace". Como alternativa, utiliza gh codespace [<SUBCOMMAND>...] --help en la línea de comandos.

Nota: El marcador -c <em>codespace-name</em>, utilizado en muchos comandos, es opcional. Si lo omites, se mostrará una lista de codespaces para que elijas de ella.

Lista todos tus codespaces

gh codespace list

La lista incluye el nombre único de cada codespace, los cuales puedes utilizar en otros comandos de gh codespace.

Crea un codespace nuevo

gh codespace create -r owner/repository [-b branch]

Para obtener más información, consulta la sección "Crear un codespace".

Detener un codespace

gh codespace stop -c codespace-name

For more information, see "Deep dive into Acerca de GitHub Codespaces."

Borrar un codespace

gh codespace delete -c codespace-name

Para obtener más información, consulta la sección "Borrar un codespace."

Ingresar por SSH a un codespace

Para ejecutar comandos en la máquina remota del codespace, desde tu terminal, puedes ingresar por SSH al codespace.

gh codespace ssh -c codespace-name

Acerca de GitHub Codespaces copia tus llaves SSH de GitHub en el codespace cuando lo creas para tener una experiencia de autenticación sin problemas. Puede que se te pida ingresar la frase de acceso para tu llave SSH, después de lo cual se te mostrará un símbolo de sistema desde la máquina remota del codespace.

Si no tienes llaves SSH, sigue las instrucciones de la sección "Generar una llave SSH nueva y agregarla al ssh-agent".

Abrir un codespace en Visual Studio Code

gh codespace code -c codespace-name

Para obtener más información, consulta la sección, "Utilizar los Codespaces en Visual Studio Code".

Abrir un codespace en JupyterLab

gh codespace jupyter -c codespace-name

Copia un archivo de/hacia un codespace

gh codespace cp [-r] source(s) destination 

Utiliza el prefijo remote: en un nombre de directorio o archivo para indicar que está en el codespace. Tal como con el comando cp de UNIX, el primer argumento especifica la fuente y, el último, el destino. Si el destino es un directorio, puedes especificar fuentes múltiples. Utiliza el marcador -r (recursivo) si cualquiera de las fuentes es un directorio.

La ubicación de los archivos y directorios en el codespace es relativa al directorio principal del usuario remoto.

Ejemplos

  • Copia un archivo desde la máquina local al directorio $HOME de un codespace:

    gh codespace cp myfile.txt remote:

  • Copia un archivo al directorio en el que un repositorio esté marcado en un codespace:

    gh codespace cp myfile.txt remote:/workspaces/<REPOSITORY-NAME>

  • Copia un archivo desde un codespace hacia el directorio actual en la máquina local:

    gh codespace cp remote:myfile.txt .

  • Copia tres archivos locales al directorio $HOME/temp de un codespace:

    gh codespace cp a1.txt a2.txt a3.txt remote:temp

  • Copia tres archivos desde un codespace hacia el directorio de trabajo actual en la máquina local:

    gh codespace cp remote:a1.txt remote:a2.txt remote:a3.txt .

  • Copia un directorio local en el directorio $HOME de un codespace:

    gh codespace cp -r mydir remote:

  • Copia un directorio de un codespace a la máquina local, cambiando el nombre de directorio:

    gh codespace cp -r remote:mydir mydir-localcopy

Para obtener más información sobre el comando gh codespace cp, incluyendo marcas adicionales que puedes utilizar, consulta el manual del CLI de GitHub.

Modificar los puertos en un codespace

Puedes reenviar un puerto en un codespace a un puerto local. El puerto permanece reenviado siempre que el proceso se esté ejecutando. Para dejar de reenviar el puerto, presiona Control+C.

gh codespace ports forward codespace-port-number:local-port-number -c codespace-name

Para ver los detalles de los puertos reenviados, ingresa gh codespace ports y luego elige un codespace.

Puedes configurar la visibilidad de un puerto reenviado. Existen tres ajustes de visibilidad:

  • private - Visible solo para ti. Este es el ajuste predeterminado cuando reenvías un puerto.
  • org - Visible para los miembros de la organización que son propietarios del repositorio.
  • public - Visible para cualquiera que conozca la URL y número de puerto.
gh codespace ports visibility codespace-port:private|org|public -c codespace-name

Puedes configurar la visibilidad de varios puertos con un solo comando. Por ejemplo:

gh codespace ports visibility 80:private 3000:public 3306:org -c codespace-name

Para obtener más información, consulta la sección "Reenviar puertos en tu codespace".

Acceder a las bitácoras de un codespace

Puedes ver la bitácora de creación de un codespace. Después de ingresar este comando, se te pedirá ingresar la frase de acceso de tu llave SSH.

gh codespace logs -c codespace-name

For more information about the creation log, see "Acerca de GitHub Codespaces logs."