# 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] This feature is in public preview and subject to change.

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

* [Managing stacked pull requests](/es/enterprise-cloud@latest/pull-requests/how-tos/create-pull-requests/managing-stacked-pull-requests)
* [Merging stacked pull requests](/es/enterprise-cloud@latest/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/enterprise-cloud@latest/copilot/tutorials/stack-ai-generated-code-in-pull-requests)
* [Roll out stacked pull requests to your organization](/es/enterprise-cloud@latest/pull-requests/tutorials/roll-out-stacked-prs)