# Inicio rápido para solicitudes de incorporación de cambios apiladas

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

> \[!NOTE] Esta característica está en versión preliminar pública y está sujeta a cambios.

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.

A stack is a series of pull requests in the same repository where each pull request targets the branch of the pull request below it, forming an ordered chain that lands on a single branch, typically your main branch. Instead of one large pull request, you get a set of smaller pull requests. Since each pull request has its own focused diff, teammates can review and approve each layer independently.

## 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 en el que puede insertar.

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

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

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

## Creación de la primera pila

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

   ```shell copy
   gh stack init
   ```

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

2. Trabaje en la primera rama como de costumbre: escribir código, realizar cambios en fases y confirmar.

   ```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. Inserte todas las ramas en el remoto.

   ```shell copy
   gh stack push
   ```

5. Cree solicitudes de incorporación de cambios 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 la diferencia 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 vínculos de solicitud de incorporación de cambios, estados y la confirmación más reciente en cada una.

7. Use `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 confirmaciones, la confirmación llega allí; Si ya tiene confirmaciones, 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, inserte todo y cree las solicitudes de incorporación de cambios.

   ```shell copy
   gh stack submit
   ```

## Pasos siguientes

* [Administración de solicitudes de incorporación de cambios apiladas](/es/pull-requests/how-tos/create-pull-requests/managing-stacked-pull-requests)
* [Combinación de solicitudes de incorporación de cambios apiladas](/es/pull-requests/how-tos/merge-and-close-pull-requests/merging-stacked-pull-requests)
* [Pila de código generado por IA en solicitudes de incorporación de cambios](/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)