Approccio di Sviluppo

Pull request impilate o una sola grande pull request: quale forma di revisione per il codice generato dall'IA?

Pull request impilate o una grande PR: dimensione della revisione, costo del rebase, commit firmati e agenti, dati 2026.

4
Pull request impilate
vs
2
Una sola grande pull request
Verdetto Rapido

Scelga le pull request impilate quando il Suo collo di bottiglia è la capacità di revisione e la modifica presenta livelli naturali. Oggi è il caso più frequente: il direttore tecnico di TED descrive esattamente questo meccanismo nell'annuncio di GitHub — l'IA ha reso gli sviluppatori molto più produttivi, e il nuovo vincolo sono diventate pull request tanto grandi da mettere in difficoltà chi revisiona. I dati sostengono l'unità più piccola: un'analisi di 1,5 milioni di pull request citata al lancio ha rilevato che quelle da 200 a 400 righe modificate presentavano il 40 per cento di difetti in meno ed erano approvate tre volte più rapidamente delle più grandi. Una pila è proprio il meccanismo che tiene ogni singola pull request in quella fascia anche quando la funzionalità è corposa. Scelga una pull request unica quando la modifica riguarda davvero un solo tema, quando il Suo repository richiede commit firmati e il team non seguirà in modo affidabile il percorso locale gh stack rebase, oppure quando la funzionalità richiederebbe più di tre o quattro livelli. Quel limite non è arbitrario: la pratica riporta tre o quattro pull request per pila, oltre le quali seguire le dipendenze costa più attenzione di quanta ne facciano risparmiare i diff più piccoli. Una pila di cinque livelli che nessuno ricostruisce correttamente vale meno di un grande diff dichiarato. Il fattore decisivo non e la maturita degli strumenti, ma chi scrive il codice. Un agente addestrato su dieci anni di pull request monolitiche produrra una pull request monolitica finché non gli dirà altro, e affettare a posteriori un diff finito da 1.700 righe e molto più faticoso che costruirlo a livelli. Installi la competenza per agenti, assegni a ogni livello un perimetro definito e una persona responsabile, e la scomposizione avverra durante la scrittura, dove costa poco. Salti questo passaggio e le pull request impilate saranno solo rami in più da ricostruire. La forma della revisione deve essere un vincolo imposto all'agente, non un lavoro di pulizia lasciato alla persona.

Confronto Dettagliato

Un'analisi comparativa dei fattori chiave per aiutarti a fare la scelta giusta.

Fattore
Pull request impilateConsigliato
Una sola grande pull requestVincitore
Dimensione dell'unità sottoposta a revisione
Ogni livello riguarda un solo tema e resta nella fascia di 200-400 righe modificate, dove la revisione risulta misurabilmente più efficace.
L'intera funzionalità arriva in un unico diff; l'esempio di GitHub conta 1.721 righe modificate prima della scomposizione.
Assegnazione dei revisori
Il livello dati viene revisionato da chi presidia i dati, l'interfaccia da chi la presidia, e i livelli si possono revisionare in parallelo.
Una sola persona deve tenere insieme modello dati, contratto API, collegamento client e stati dell'interfaccia nello stesso momento.
Tempo di risposta
Il livello uno può essere revisionato, corretto e approvato mentre il livello quattro è ancora in scrittura.
Niente e revisionabile prima che l'intera funzionalità sia finita: tutti i riscontri arrivano alla fine.
Costo di una modifica a un livello basso
Una correzione in basso impone un rebase a cascata di tutti i rami superiori; gh stack sync automatizza la cascata, ma il rebase resta lavoro vero.
Un ramo, un rebase, nessuna catena di dipendenze da riparare quando arriva un riscontro.
Meccanica di unione
Può unire l'intera pila in un'unica operazione, oppure integrare i livelli bassi e lasciare che le pull request superiori si ricostruiscano e si ripuntino da sole.
Una sola unione, senza stato della pila da interpretare e senza decisioni di integrazione parziale.
Commit firmati e protezione del ramo
Il pulsante di rebase nel browser gira sui server di GitHub, reimposta l'autore del commit e produce commit non firmati, rompendo la protezione che richiede commit firmati; gh stack rebase in locale lo evita.
Nessun rebase a cascata, quindi nessun autore reimpostato e nessuna firma da recuperare.
Limite di scalabilita
La pratica colloca il limite utile a tre o quattro livelli; oltre, seguire le dipendenze pesa più del guadagno in revisione.
Nessun limite strutturale di dimensione, ma qualità della revisione e attenzione calano man mano che il diff cresce.
Adeguatezza agli agenti di programmazione
La competenza per agenti di gh-stack insegna a scomporre il lavoro in livelli ordinati già in fase di scrittura: la forma diventa un vincolo, non un rifacimento.
Addestrati su dieci anni di pull request monolitiche, gli agenti producono per impostazione predefinita un grande diff, e affettarlo dopo è più faticoso che costruire subito a livelli.
Punteggio Totale4/ 82/ 82 pareggi
Dimensione dell'unità sottoposta a revisione
Pull request impilate
Ogni livello riguarda un solo tema e resta nella fascia di 200-400 righe modificate, dove la revisione risulta misurabilmente più efficace.
Una sola grande pull request
L'intera funzionalità arriva in un unico diff; l'esempio di GitHub conta 1.721 righe modificate prima della scomposizione.
Assegnazione dei revisori
Pull request impilate
Il livello dati viene revisionato da chi presidia i dati, l'interfaccia da chi la presidia, e i livelli si possono revisionare in parallelo.
Una sola grande pull request
Una sola persona deve tenere insieme modello dati, contratto API, collegamento client e stati dell'interfaccia nello stesso momento.
Tempo di risposta
Pull request impilate
Il livello uno può essere revisionato, corretto e approvato mentre il livello quattro è ancora in scrittura.
Una sola grande pull request
Niente e revisionabile prima che l'intera funzionalità sia finita: tutti i riscontri arrivano alla fine.
Costo di una modifica a un livello basso
Pull request impilate
Una correzione in basso impone un rebase a cascata di tutti i rami superiori; gh stack sync automatizza la cascata, ma il rebase resta lavoro vero.
Una sola grande pull request
Un ramo, un rebase, nessuna catena di dipendenze da riparare quando arriva un riscontro.
Meccanica di unione
Pull request impilate
Può unire l'intera pila in un'unica operazione, oppure integrare i livelli bassi e lasciare che le pull request superiori si ricostruiscano e si ripuntino da sole.
Una sola grande pull request
Una sola unione, senza stato della pila da interpretare e senza decisioni di integrazione parziale.
Commit firmati e protezione del ramo
Pull request impilate
Il pulsante di rebase nel browser gira sui server di GitHub, reimposta l'autore del commit e produce commit non firmati, rompendo la protezione che richiede commit firmati; gh stack rebase in locale lo evita.
Una sola grande pull request
Nessun rebase a cascata, quindi nessun autore reimpostato e nessuna firma da recuperare.
Limite di scalabilita
Pull request impilate
La pratica colloca il limite utile a tre o quattro livelli; oltre, seguire le dipendenze pesa più del guadagno in revisione.
Una sola grande pull request
Nessun limite strutturale di dimensione, ma qualità della revisione e attenzione calano man mano che il diff cresce.
Adeguatezza agli agenti di programmazione
Pull request impilate
La competenza per agenti di gh-stack insegna a scomporre il lavoro in livelli ordinati già in fase di scrittura: la forma diventa un vincolo, non un rifacimento.
Una sola grande pull request
Addestrati su dieci anni di pull request monolitiche, gli agenti producono per impostazione predefinita un grande diff, e affettarlo dopo è più faticoso che costruire subito a livelli.

Statistiche Chiave

Dati reali da fonti verificate del settore per supportare la tua decisione.

L'esempio di GitHub racchiude modello dati, rotta API, collegamento client e quattro stati dell'interfaccia in un'unica pull request da 1.721 righe modificate, prima di scomporla in quattro livelli impilati.

GitHub Engineering Blog

Un'analisi di 1,5 milioni di pull request citata al lancio ha rilevato che quelle da 200 a 400 righe modificate presentavano il 40 per cento di difetti in meno ed erano approvate tre volte più rapidamente delle più grandi.

InfoQ

Gartner prevede che entro il 2028 gli agenti di programmazione porteranno un aumento di produttivita del 50 per cento in ogni fase del ciclo di vita del software, aumentando la frequenza con cui grandi diff arrivano in revisione.

Gartner, citata da GitHub Engineering

L'estensione a riga di comando gh-stack di GitHub ha raggiunto 1.093 stelle e la sua prima versione taggata, v0.1.0, il 29 luglio 2026 — un giorno prima dell'apertura dell'anteprima pubblica delle pull request impilate.

API REST di GitHub, github/gh-stack

Le pull request impilate sono entrate in anteprima chiusa il 13 aprile 2026 e in anteprima pubblica il 30 luglio 2026; l'annuncio dell'anteprima pubblica ha raggiunto 780 punti su Hacker News.

GitHub Changelog

La pratica colloca il limite utile a tre o quattro pull request per pila, oltre le quali il carico mentale di seguire le dipendenze pesa più del guadagno in revisione.

Alan West, citato da InfoQ

Tutte le statistiche provengono da fonti terze verificate. Fonte, anno e link diretto sono mostrati su ogni metrica.

Quando Scegliere Ogni Opzione

Una guida chiara basata sulla tua situazione specifica ed esigenze.

Scegli Pull request impilate quando...

  • La modifica si divide naturalmente in livelli dipendenti — dati, API, collegamento, interfaccia — con responsabili diversi.
  • Un agente di programmazione ha prodotto un diff che non può onestamente revisionare in una sola seduta.
  • Il Suo collo di bottiglia è la capacità di revisione, non la velocita di scrittura.
  • Vuole far revisionare e integrare il livello di base mentre i livelli superiori sono ancora in scrittura.

Scegli Una sola grande pull request quando...

  • La modifica riguarda davvero un solo tema e resta entro poche centinaia di righe modificate.
  • Il Suo repository richiede commit firmati e il team non seguirà in modo affidabile il percorso locale gh stack rebase.
  • La funzionalità richiederebbe più di tre o quattro livelli, dove il carico delle dipendenze supera il guadagno in revisione.
  • Il Suo team non dispone di strumenti compatibili con le pile e dovrebbe mantenere a mano la catena di rami.

La Nostra Raccomandazione

Scelga le pull request impilate quando il Suo collo di bottiglia è la capacità di revisione e la modifica presenta livelli naturali. Oggi è il caso più frequente: il direttore tecnico di TED descrive esattamente questo meccanismo nell'annuncio di GitHub — l'IA ha reso gli sviluppatori molto più produttivi, e il nuovo vincolo sono diventate pull request tanto grandi da mettere in difficoltà chi revisiona. I dati sostengono l'unità più piccola: un'analisi di 1,5 milioni di pull request citata al lancio ha rilevato che quelle da 200 a 400 righe modificate presentavano il 40 per cento di difetti in meno ed erano approvate tre volte più rapidamente delle più grandi. Una pila è proprio il meccanismo che tiene ogni singola pull request in quella fascia anche quando la funzionalità è corposa. Scelga una pull request unica quando la modifica riguarda davvero un solo tema, quando il Suo repository richiede commit firmati e il team non seguirà in modo affidabile il percorso locale gh stack rebase, oppure quando la funzionalità richiederebbe più di tre o quattro livelli. Quel limite non è arbitrario: la pratica riporta tre o quattro pull request per pila, oltre le quali seguire le dipendenze costa più attenzione di quanta ne facciano risparmiare i diff più piccoli. Una pila di cinque livelli che nessuno ricostruisce correttamente vale meno di un grande diff dichiarato. Il fattore decisivo non e la maturita degli strumenti, ma chi scrive il codice. Un agente addestrato su dieci anni di pull request monolitiche produrra una pull request monolitica finché non gli dirà altro, e affettare a posteriori un diff finito da 1.700 righe e molto più faticoso che costruirlo a livelli. Installi la competenza per agenti, assegni a ogni livello un perimetro definito e una persona responsabile, e la scomposizione avverra durante la scrittura, dove costa poco. Salti questo passaggio e le pull request impilate saranno solo rami in più da ricostruire. La forma della revisione deve essere un vincolo imposto all'agente, non un lavoro di pulizia lasciato alla persona.

Domande Frequenti

Risposte alle domande comuni su questo confronto.

Le pull request impilate sono una catena ordinata in cui ogni ramo punta non al ramo principale, ma a quello immediatamente sottostante. Una funzionalità diventa così una sequenza di piccoli livelli revisionabili in modo indipendente: modello dati, poi endpoint API, poi collegamento client, poi interfaccia. GitHub le ha rese native nel 2026: anteprima chiusa il 13 aprile, anteprima pubblica il 30 luglio, con l'estensione gh-stack, una mappa della pila in cima a ogni pull request e l'unione dell'intera pila con un clic.
Sì. Controlli e regole di unione vengono valutati rispetto alla base della pila e non al genitore immediato di ciascun ramo: l'integrazione continua gira quindi su ogni livello come se puntasse direttamente al ramo principale, e le protezioni esistenti continuano a governare cio che raggiunge il ramo principale. Un'avvertenza conta: il pulsante di rebase nel browser gira sui server di GitHub, reimposta l'autore del commit e produce commit non firmati. Se le Sue regole richiedono commit firmati, usi invece gh stack rebase in locale e poi gh stack push.
Perché il corpus di addestramento è fatto così. Gli agenti hanno imparato da dieci anni di pull request in cui un'intera funzionalità arrivava in un solo diff: una richiesta produce quindi una grande modifica. La soluzione è rendere la forma della revisione parte dell'istruzione anziche un rifacimento successivo. Installata la competenza per agenti di gh-stack, gli agenti compatibili imparano a inizializzare una pila, ad aggiungere ogni livello sopra quello sottostante e a confermare solo quando i controlli passano. La scomposizione avviene così durante la scrittura, non dopo.
Tre o quattro sono il limite utile riportato dalla pratica; oltre, il carico mentale di seguire le dipendenze supera il guadagno in revisione. Punti a livelli che facciano ciascuno una sola cosa e restino tra 200 e 400 righe modificate: è la fascia in cui un'analisi di 1,5 milioni di pull request ha rilevato il 40 per cento di difetti in meno e approvazioni tre volte più rapide. Se una funzionalità richiedesse sei o sette livelli, di solito è il segnale di consegnarla come due funzionalità distinte invece che come una pila molto alta.

Hai bisogno di aiuto per decidere?

Prenota una consulenza gratuita di 30 minuti e ti aiuteremo a determinare l'approccio migliore per il tuo progetto specifico.

Consulenza gratuita
Senza impegno
Risposta entro 24h