Skip to main content

Creating a codespace for a repository

You can create a codespace for a branch in a repository to develop online.

About creating a codespace for a repository

Puedes crear un codespace en GitHub.com, en Visual Studio Code o utilizando el GitHub CLI. Use the tabs in this article to display instructions for each of these ways of creating a codespace.

Si vas a iniciar un nuevo proyecto, es posible que desees crear un codespace a partir de una plantilla y publicar en un repositorio en GitHub más tarde. For more information, see "Creating a codespace from a template."

Note: If you use a JetBrains IDE, you can use GitHub CLI to create a codespace. You can then use the JetBrains Gateway application to open the codespace in a JetBrains IDE. For more information, see "Using Codespaces in your JetBrains IDE."

You can use GitHub Codespaces on your personal GitHub.com account, with the quota of free use included each month for accounts on the Free and Pro plans. Para seguir usando GitHub Codespaces más allá del almacenamiento y del uso de proceso mensuales incluidos, proporciona la información de pago y establece un límite de gasto. Para más información, consulta "Acerca de la facturación de GitHub Codespaces".

Organizations can enable members and outside collaborators to create and use codespaces at the organization's expense. For more information, see "Enabling GitHub Codespaces for your organization."

Cada codespace que crees está únicamente disponible para ti. Nadie más puede trabajar en tu codespace.

If you create a codespace from a repository, the codespace will be associated with a specific branch, which cannot be empty. You can create more than one codespace per repository or even per branch.

Puede ver todos los codespaces disponibles que ha creado en github.com/codespaces.

The codespace creation process

When you create a codespace, a number of steps happen to create and connect you to your development environment:

  • Step 1: VM and storage are assigned to your codespace.
  • Step 2: Container is created and your repository is cloned.
  • Step 3: You can connect to the codespace.
  • Step 4: Codespace continues with post-creation setup.

For more information on what happens when you create a codespace, see "Deep Dive."

For more information on the lifecycle of a codespace, see "The codespace lifecycle."

If you want to use Git hooks for your codespace, then you should set up hooks using the devcontainer.json lifecycle scripts, such as postCreateCommand, during step 4. Since your codespace container is created after the repository is cloned, any git template directory configured in the container image will not apply to your codespace. Hooks must instead be installed after the codespace is created. For more information on using postCreateCommand, see the devcontainer.json reference in the VS Code documentation.

Puedes editar código, depurar y utilizar comandos de Git mientras desarrollas en un codespace con VS Code. Para más información, consulta la documentación de VS Code.

To speed up codespace creation, repository administrators can enable GitHub Codespaces prebuilds for a repository. For more information, see "About GitHub Codespaces prebuilds."

Creating a codespace for a repository

  1. On GitHub.com, navigate to the main page of the repository.

  2. Under the repository name, use the "Branch" dropdown menu, and select the branch you want to create a codespace for.

    Branch dropdown menu

  3. Click the Code button, then click the Codespaces tab.

    New codespace button

    If codespaces for this repository are billable to an organization, or its parent enterprise, a message is displayed below the Create codespace on BRANCH button telling you who will pay for the codespace.

  4. Create your codespace, either using the default options, or after configuring advanced options:

    • Use the default options

      To create a codespace using the default options, click the plus sign (). Alternatively, if you don't currently have any codespaces for this repository, you can click Create codespace on BRANCH.

    • Configure options

      To configure advanced options for your codespace, such as a different machine type or a particular devcontainer.json file:

      1. Click the ellipsis (...) at the top right of the Codespaces tab and select New with options.

        View the default machine type

      2. On the options page for your codespace, choose your preferred options from the dropdown menus.

        The codespace options page

        Notes

      3. Click Create codespace.

Después de conectar tu cuenta de GitHub.com a la extensión de GitHub Codespaces, puedes crear un codespace. Para obtener más información sobre la extensión de GitHub Codespaces, consulta el VS Code Marketplace.

  1. En VS Code, en la barra lateral izquierda, haz clic en el icono de Explorador Remoto.

    El icono de Remote Explorer (Explorador remoto) en Visual Studio Code

    Nota: Si el Explorador remoto no se muestra en la barra de actividad:

    1. Abra la paleta de comandos. Por ejemplo, presionando el Comando+Shift+P (Mac) / Ctrl+Shift+P (Windows/Linux).
    2. Escriba: codespaces.
    3. Haz clic en Codespaces: Detalles.
  2. Haz clic el icono de Agregar: .

    Opción para crear un codespace en GitHub Codespaces

  3. Escribe el nombre del repositorio en el que quieres desarrollar y selecciónalo.

    Búsqueda de un repositorio para crear un codespace

    Si el repositorio que eliges es propiedad de una organización y esta ha configurado los codespaces de este repositorio de modo que se facturen a la organización o a su empresa principal, en los mensajes posteriores se indicará quién paga el codespace.

  4. Da clic en la rama en la que quieras desarrollar.

    Búsqueda de una rama para crear un codespace

  5. Si se te pide que elijas un archivo de configuración de contenedor de desarrollo, selecciona un archivo en la lista.

    Selección del archivo de configuración de un contenedor de desarrollo para GitHub Codespaces

  6. Elige el tipo de máquina que quieres utilizar.

    Tipos de instancia para un nuevo codespace

    Nota: La elección de los tipos de máquina disponibles puede estar limitada por varios factores. Estos pueden incluir una directiva configurada para la organización o una especificación mínima del tipo de máquina para el repositorio. Para más información, vea "Restricción del acceso a los tipos de máquina" y "Configuración de una especificación mínima para las máquinas de los codespaces".

Para obtener más información sobre GitHub CLI, vea "Acerca de GitHub CLI".

To create a new codespace, use the gh codespace create subcommand.

gh codespace create 

You are prompted to choose a repository. If codespaces for this repository are billable to an organization, or its parent enterprise, a message is displayed telling you who will pay for the codespace. You are then prompted to choose a branch, a dev container configuration file (if more than one is available), and a machine type (if more than one is available).

Alternatively, you can use flags to specify some or all of the options:

gh codespace create -r OWNER/REPO -b BRANCH --devcontainer-path PATH -m MACHINE-TYPE

In this example, replace owner/repo with the repository identifier. Replace branch with the name of the branch, or the full SHA hash of the commit, that you want to be initially checked out in the codespace. If you use the -r flag without the b flag, the codespace is created from the default branch.

Replace path with the path to the dev container configuration file you want to use for the new codespace. If you omit this flag and more than one dev container file is available you will be prompted to choose one from a list. For more information about the dev container configuration file, see "Introduction to dev containers."

Replace machine-type with a valid identifier for an available machine type. Identifiers are strings such as: basicLinux32gb and standardLinux32gb. The type of machines that are available depends on the repository, your personal account, and your location. If you enter an invalid or unavailable machine type, the available types are shown in the error message. If you omit this flag and more than one machine type is available you will be prompted to choose one from a list.

For full details of the options for this command, see the GitHub CLI manual.

Further reading