Nota:
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.
- Autentíquese GitHub CLI con
- Un GitHub repositorio en el que puede insertar.
Instalación de la extensión de la CLI
gh extension install github/gh-stack
gh extension install github/gh-stack
Sugerencia
Para usar solicitudes de incorporación de cambios apiladas con agentes de codificación de IA, como GitHub Copilot, instale la gh-stack aptitud .
gh skill install github/gh-stack
gh skill install github/gh-stack
Creación de la primera pila
-
Para inicializar una pila, vaya al repositorio y ejecute el siguiente comando. Esto crea una entrada de seguimiento y la primera rama.
Shell gh stack init
gh stack initSe 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. -
Trabaje en la primera rama como de costumbre: escribir código, realizar cambios en fases y confirmar.
# ... write code ... git add . git commit -m "helpful-commit-message" -
Cuando esté listo para la siguiente unidad lógica de trabajo, agregue una nueva rama a la parte superior de la pila.
Shell gh stack add BRANCH-NAME # ... write code ... git add . git commit -m "Another-helpful-commit-message"
gh stack add BRANCH-NAME # ... write code ... git add . git commit -m "Another-helpful-commit-message" -
Inserte todas las ramas en el remoto.
Shell gh stack push
gh stack push -
Cree solicitudes de incorporación de cambios y vincúlelas como una pila en GitHub.
Shell gh stack submit
gh stack submitCada solicitud de incorporación de cambios se crea con la rama base correcta. La primera rama tiene como destino
mainy la siguiente ramaBRANCH-NAMEtiene 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. -
Vea la pila y vea el estado completo en cualquier momento.
Shell gh stack view
gh stack viewEste 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.
-
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 independientegit addogit commit. Si la rama actual aún no tiene confirmaciones, la confirmación llega allí; Si ya tiene confirmaciones, se crea una nueva rama.# 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" -
Cuando esté listo, inserte todo y cree las solicitudes de incorporación de cambios.
Shell gh stack submit
gh stack submit