Le PR impilate sono supportate solo per i repository su GitHub.com. GitHub
Enterprise Server, GitLab e altri provider non dispongono di un’API per le PR impilate.
Come funziona uno stack
- Le pull request sono ordinate dal basso verso l’alto. La PR più in basso è rivolta al branch trunk (ad es.
main); il branch di base di ogni altra PR è il branch head della PR immediatamente sotto. - Poiché ogni PR viene confrontata con il livello sottostante, mostra solo le proprie modifiche, senza includere nulla dai livelli sopra o sotto.
- Lo stack viene integrato dal basso verso l’alto. Il merge di una PR nello stack integra anche tutte le PR aperte sottostanti, in modo atomico e in un’unica operazione. Man mano che le PR inferiori vengono integrate, GitHub reindirizza automaticamente le PR rimanenti al branch trunk.
Quando Devin crea uno stack
- Annuncia lo stack per nome prima di creare qualsiasi PR, così puoi vedere la serie prendere forma nella tua sessione.
- Crea ogni PR come una normale PR mirata — con la propria descrizione e la propria CI — ciascuna con il branch head della PR sottostante come destinazione.
- Raggruppa le PR in uno stack su GitHub una volta create.
Mantenere coerente lo stack
- Risoluzione dei conflitti — Se un livello genera conflitti di merge con il branch sottostante (ad esempio, dopo l’applicazione di feedback di revisione a un livello inferiore o quando il trunk avanza sotto lo stack), Devin riceve automaticamente una notifica e risolve i conflitti senza intervento. Ti chiede conferma solo quando un conflitto comporta una decisione sostanziale che richiede il tuo contributo.
- CI nell’intero stack — Devin monitora la CI per ogni livello e corregge gli errori non appena si presentano, tenendo traccia dello stato di avanzamento dell’intera serie anziché seguire le PR una alla volta.
- Riassegnazione automatica della destinazione — Man mano che la base dello stack viene integrata, GitHub reindirizza le PR rimanenti al trunk. Non è necessario gestire manualmente i rebase.
Lavorare con gli stack
- Chiedi a Devin di suddividere una modifica di grandi dimensioni in uno stack oppure di mantenere il lavoro in un’unica PR.
- Chiedi a Devin di aggiungere PR successive in cima a uno stack esistente.
- Chiedi a Devin di verificare lo stato di uno stack: verranno riportati lo stato di ogni livello, la CI, l’esito della revisione e la possibilità di merge.
- Chiedi a Devin di unstack: lo stack viene sciolto e le PR non ancora sottoposte a merge tornano a essere PR indipendenti, con i relativi branch lasciati invariati. I livelli già sottoposti a merge restano tali.
Revisione e merge degli stack
Limitazioni
- Solo GitHub.com — gli stack non sono disponibili su GitHub Enterprise Server, GitLab, Bitbucket o Azure DevOps.
- Dimensioni dello stack — uno stack contiene da 2 a 100 PR.
- Merge — le PR impilate non possono essere unite tramite il normale flusso di merge di GitHub; vengono unite tramite il merge dello stack, che integra la PR selezionata e tutte le PR aperte sottostanti in un’unica operazione.

