Acerca de la GitHub CLI
GitHub CLI es una herramienta de código abierto para usar GitHub desde la línea de comandos del equipo. Cuando trabajas desde la línea de comandos, puedes utilizar el GitHub CLI para ahorrar tiempo y evitar cambiar de contexto. Para más información, consulta "Acerca del CLI de GitHub".
Puedes trabajar con los GitHub Codespaces en el GitHub CLI para:
- Lista todos tus codespaces
- Crea un codespace nuevo
- Ver detalles de un codespace
- Detención de un codespace
- Eliminación de un codespace
- Cambiar el nombre de un codespace
- Recompilación de un codespace
- Ejecución de SSH en un codespace
- Apertura de un codespace en Visual Studio Code
- Apertura de un codespace en JupyterLab
- Copia un archivo de/hacia un codespace
- Modificación de los puertos en un codespace
- Acceso a los registros de codespace
- Acceso remoto a recursos
- Cambiar el tipo de máquina de un codespace
Instalación de GitHub CLI
A fin de obtener instrucciones de instalación para GitHub CLI, vea el repositorio de GitHub CLI.
Uso de GitHub CLI
Si todavía no lo ha hecho, ejecute gh auth login
para autenticarse con la cuenta de GitHub.
Para usar gh
a fin de trabajar con GitHub Codespaces, escribe gh codespace SUBCOMMAND
o su alias gh cs SUBCOMMAND
.
Como ejemplo de una serie de comandos que podrías utilizar para trabajar con los GitHub Codespaces, podrías:
- Enumere los codespaces actuales a fin de comprobar si tiene uno para un repositorio determinado:
gh codespace list
- Cree un codespace para la rama de repositorio necesaria:
gh codespace create -r github/docs -b main
- Ejecute SSH en el nuevo codespace:
gh codespace ssh -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq
- Reenvíe un puerto a la máquina local:
gh codespace ports forward 8000:8000 -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq
Comandos gh
para 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 gh
para GitHub Codespaces, incluidos los detalles de todas las opciones disponibles para cada comando, vea "gh codespace" en la ayuda en línea de GitHub CLI. Como alternativa, en la línea de comandos, usa gh codespace --help
para obtener ayuda general o gh codespace SUBCOMMAND --help
para obtener ayuda con un subcomando específico.
Note
La marca, -c CODESPACE_NAME
, que se usa con 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, que puede usar en otros comandos gh codespace
.
Un asterisco al final del nombre de la rama de un codespace indica que hay cambios no confirmados o no insertados en ese codespace.
Crea un codespace nuevo
gh codespace create -r OWNER/REPO_NAME [-b BRANCH]
Para obtener más información, vea «Creación de un codespace para un repositorio».
Ver detalles de un codespace
gh codespace view
Después de ejecutar este comando, se te pedirá que elijas uno de los codespacees existentes. Se muestra entonces la siguiente información:
- Nombre del codespace
- Estado (por ejemplo, "Disponible" o "Apagado")
- Repositorio
- Estado de Git
- Ruta de acceso al archivo de configuración del contenedor de desarrollo usado para crear el codespace
- Tipo de máquina
- Tiempo de espera inactividad
- Fecha y hora en que se creó el codespace
- Período de retención
Para más información, consulta la "referencia de la CLI de GitHub".
Detener un codespace
gh codespace stop -c CODESPACE-NAME
Para obtener más información, vea «Análisis en profundidad de GitHub Codespaces».
Borrar un codespace
gh codespace delete -c CODESPACE-NAME
Para obtener más información, vea «Borrar un codespace».
Cambiar el nombre de un codespace
gh codespace edit -c CODESPACE-NAME -d 'DISPLAY-NAME'
Para obtener más información, vea «Cambio del nombre de un codespace».
Recompilación de un codespace
gh codespace rebuild
Para efectuar una recompilación completa, agrega --full
al final de este comando. Para obtener más información, vea «Recompilación del contenedor en un codespace».
Si usas este comando para recompilar un codespace, se usa el archivo devcontainer.json
que está guardado actualmente en el sistema del codespace. Esto sucede independientemente de si el estado actual del archivo se ha guardado o no en el control de código fuente. Para obtener más información, vea «Introducción a los contenedores dev».
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
Note
El codespace al que te conectes debe ejecutar un servidor SSH. La imagen de contenedor de dev predeterminada incluye un servidor SSH, que se inicia automáticamente. Si los codespaces no se crean a partir de la imagen predeterminada, puedes instalar e iniciar un servidor SSH agregando lo siguiente al objeto features
en el archivo devcontainer.json
.
"features": {
// ...
"ghcr.io/devcontainers/features/sshd:1": {
"version": "latest"
},
// ...
}
Para obtener más información sobre el archivo devcontainer.json
y la imagen de contenedor predeterminada, consulta "Introducción a los contenedores dev".
GitHub Codespaces crea automáticamente una clave SSH local para proporcionar una experiencia de autenticación sin problemas. Para obtener más información sobre cómo conectarse con SSH, consulta gh codespace ssh
.
Abrir un codespace en Visual Studio Code
gh codespace code -c CODESPACE-NAME
Debes tener VS Code instalados en la máquina local. Para obtener más información, vea «Uso de GitHub Codespaces en Visual Studio Code».
Apertura de un codespace en JupyterLab
gh codespace jupyter -c CODESPACE-NAME
La aplicación JupyterLab debe estar instalada en el codespace que estás abriendo. La imagen de contenedor dev predeterminada incluye JupyterLab, por lo que los codespaces creados a partir de la imagen predeterminada siempre lo tendrán instalado. Para obtener más información sobre la imagen predeterminada, consulta "Introducción a los contenedores dev" y el repositorio de devcontainers/images
. Si no usa la imagen predeterminada en la configuración del contenedor de desarrollo, puedes instalar JupyterLab agregando la característica ghcr.io/devcontainers/features/python
al archivo devcontainer.json
. Debes incluir la opción "installJupyterlab": true
. Para obtener más información, consulta el archivo README de la característica python
, en el repositorio devcontainers/features
.
Copia un archivo de/hacia un codespace
gh codespace cp [-r] SOURCE(S) DESTINATION
Use el prefijo remote:
en un nombre de archivo o directorio para indicar que está en el codespace. Como sucede con el comando cp
de UNIX, el primer argumento especifica el origen y, el último, el destino. Si el destino es un directorio, puedes especificar fuentes múltiples. Use la marca -r
(recursiva) si alguno de los orígenes es un directorio.
La ubicación de los archivos y directorios en el codespace es relativa al directorio principal del usuario remoto.
Ejemplos
-
Copie un archivo de la máquina local en el 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 .
-
Copie tres archivos locales en el 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 .
-
Copie 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 más información sobre el comando gh codespace cp
, incluidas las marcas adicionales que puede usar, vea el manual de GitHub CLI.
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 detener el reenvío del puerto, presione Control+C.
gh codespace ports forward CODESPACE-PORT_NAME:LOCAL-PORT-NAME -c CODESPACE-NAME
Para ver detalles de los puertos reenviados, escriba gh codespace ports
y elija un codespace.
Puedes configurar la visibilidad de un puerto reenviado. Existen tres ajustes de visibilidad:
private
: solo es visible para usted. Este es el ajuste predeterminado cuando reenvías un puerto.org
: visible para los miembros de la organización propietaria del repositorio.public
: visible para cualquiera que conozca la URL y el número de puerto.
gh codespace ports visibility CODESPACE-PORT:private|org|public -c CODESPACE-NAME
Puedes configurar la visibilidad para 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, vea «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
Para más información sobre el registro de creación, consulta "Registros de GitHub Codespaces".
Acceso remoto a recursos
Puede usar la extensión GitHub CLI para crear un puente entre un codespace y la máquina local, de modo que el codespace pueda acceder a cualquier recurso remoto al que se pueda acceder desde la máquina. Para obtener más información sobre el uso de la extensión, vea "Uso de GitHub CLI para acceder a recursos remotos".
Note
La extensión GitHub CLI se encuentra actualmente en versión preliminar pública y está sujeta a cambios.
Cambiar el tipo de máquina de un codespace
gh codespace edit -m MACHINE-TYPE-NAME
Para más información, consulta la pestaña "GitHub CLI" de "Cambiar el tipo de máquina de tu codespace".