# Inicio rápido para pull requests apiladas

Instale la gh stack extensión en GitHub CLI y cree el primer conjunto de solicitudes de incorporación de cambios apiladas.

Use solicitudes de incorporación de cambios apiladas para dividir los cambios de código grandes en una cadena de solicitudes de incorporación de cambios más pequeñas y dependientes que puede revisar y combinar de forma independiente.

Una pila es una serie de solicitudes de incorporación de cambios en el mismo repositorio donde cada solicitud de incorporación de cambios tiene como destino la rama de la solicitud de incorporación de cambios debajo de ella, formando una cadena ordenada que llega a una sola rama, normalmente la rama principal. En lugar de una solicitud de incorporación de cambios grande, obtendrá un conjunto de solicitudes de incorporación de cambios más pequeñas. Dado que cada solicitud de incorporación de cambios tiene su propia diferencia centrada, los compañeros de equipo pueden revisar y aprobar cada capa de forma independiente.

## Prerequisites

* GitHub CLI (`gh`) 2.90.0 o posterior, y Git 2.20 o posterior.
  * Autentíquese GitHub CLI con `gh auth login`.
* Un GitHub repositorio al que puede hacer push.

## Instalación de la extensión de la CLI

```shell copy
gh extension install github/gh-stack
```

> \[!TIP]
> Para usar solicitudes de extracción apiladas con agentes de codificación de IA, como GitHub Copilot, instale la `gh-stack` habilidad.
>
> ```shell copy
> gh skill install github/gh-stack
> ```

## Crea tu primer stack

1. Para inicializar un stack, vaya al repositorio y ejecute el siguiente comando. Esto crea una entrada de seguimiento y tu primera rama.

   ```shell copy
   gh stack init
   ```

   Se le pedirá que nombre su primera rama. De forma predeterminada, la pila usa la rama predeterminada del repositorio (por ejemplo, `main`) como trunk, pero una pila puede tener como destino cualquier rama.

2. Trabaje en la primera rama como de costumbre: escribir código, preparar los cambios y hacer un commit.

   ```shell
   # ... write code ...
   git add .
   git commit -m "helpful-commit-message"
   ```

3. Cuando esté listo para la siguiente unidad lógica de trabajo, agregue una nueva rama a la parte superior de la pila.

   ```shell copy
   gh stack add BRANCH-NAME
   # ... write code ...
   git add .
   git commit -m "Another-helpful-commit-message"
   ```

4. Envíe todas las ramas al remoto.

   ```shell copy
   gh stack push
   ```

5. Cree pull requests y vincúlelas como una pila en GitHub.

   ```shell copy
   gh stack submit
   ```

   Cada solicitud de incorporación de cambios se crea con la rama base correcta. La primera rama tiene como destino `main`y la siguiente rama `BRANCH-NAME` tiene como destino la primera rama. Los revisores solo verán el diff de esa capa. Las solicitudes de incorporación de cambios se vinculan automáticamente como una pila en GitHub y puede ver su orden y navegar rápidamente entre ellas.

6. Vea la pila y vea el estado completo en cualquier momento.

   ```shell copy
   gh stack view
   ```

   Este comando muestra todas las ramas, sus enlaces de pull request, estados y el commit más reciente en cada una.

7. Usa `gh stack add -Am "MESSAGE"` para almacenar provisionalmente todos los cambios, confirmar y crear la rama siguiente en un paso. No necesitará un elemento independiente `git add` o `git commit`. Si la rama actual aún no tiene commits, el commit se realiza ahí; si ya tiene commits, se crea una nueva rama.

   ```shell
   # Commit lands on the current branch
   gh stack add -Am "Auth middleware"

   # Current branch already has commits, so this creates the next branch
   gh stack add -Am "API routes"
   ```

8. Cuando esté listo, haga push de todo y cree las pull requests.

   ```shell copy
   gh stack submit
   ```

## Pasos siguientes

* [Administración de pull requests apiladas](/es/pull-requests/how-tos/create-pull-requests/managing-stacked-pull-requests)
* [Fusión de pull requests apiladas](/es/pull-requests/how-tos/merge-and-close-pull-requests/merging-stacked-pull-requests)
* [Apila código generado por IA en pull requests](/es/copilot/tutorials/stack-ai-generated-code-in-pull-requests)
* [Implementación de solicitudes de incorporación de cambios apiladas en su organización](/es/pull-requests/tutorials/roll-out-stacked-prs)