GitHub ha introdotto i "stacked pull requests" in public preview, permettendo agli sviluppatori di suddividere una modifica di grandi dimensioni in una catena di PR dipendenti che possono essere revisionate e approvate indipendentemente.

Perché questa funzionalità è importante

Una singola PR monolitica spesso si trasforma in una revisione lunga un mese, costringendo i revisori a navigare tra codice non correlato. Quando il branch di base si sposta, queste modifiche massicce sono soggette a conflitti di merge che bloccano i rilasci. Le stacked PR risolvono entrambi i problemi trasformando un unico grande diff in una serie di diff più piccoli e mirati, ognuno dei quali si basa sul precedente.

Come funziona

Crea la prima PR rispetto al branch main, poi imposta la successiva basandola sulla prima, la terza sulla seconda, e così via. GitHub traccia automaticamente le relazioni: se modifichi la PR di base, le PR dipendenti vengono aggiornate per riflettere il nuovo stato. I revisori possono approvare l'intero stack con un solo clic o approvare i singoli livelli.

  • Le revisioni rimangono su un ambito ristretto, rendendo il feedback più rapido.
  • I conflitti diminuiscono perché ogni PR tocca solo il codice introdotto nel proprio livello.
  • L'interfaccia utente mostra la gerarchia dello stack e la GitHub CLI offre un comando rapido per creare una serie di stacked PR.
gh pr create --title Feature A --base main
gh pr create --title Feature B --base feature-a
gh pr create --title Feature C --base feature-b

L'esempio da riga di comando crea tre PR collegate, ognuna dipendente dalla precedente. Lo stesso flusso di lavoro è disponibile tramite l'interfaccia web, dove è possibile riordinare o rimuovere una PR dallo stack senza interrompere le altre.

Chi ne trarrà vantaggio

I grandi team di sviluppo e i manutentori open-source possono rilasciare lavoro incrementale senza esporre i revisori a cambiamenti non correlati. I release manager ottengono un quadro più chiaro di ciò che è pronto per il rilascio, poiché ogni livello dello stack può essere approvato secondo la propria programmazione.

Avvertenze da considerare

La funzionalità è ancora in fase di preview, quindi potrebbe cambiare prima del rilascio completo. I team dovranno adottare nuove abitudini relative al branching e potrebbero incontrare casi limite durante il rebase di uno stack che è già stato approvato parzialmente. La documentazione è ancora in fase di espansione, quindi i primi utilizzatori potrebbero impiegare tempo extra per imparare a interpretare gli elementi dell'interfaccia utente.

Cosa aspettarsi in futuro

GitHub probabilmente introdurrà un'integrazione più stretta con i code-owners e gli strumenti di automazione, e potrebbe mostrare metriche sulla riduzione dei conflitti. Tieni d'occhio la pagina dell'annuncio della preview per aggiornamenti sulla tempistica della GA (general availability).

In sintesi: Le stacked pull requests offrono agli sviluppatori un modo pratico per gestire modifiche massicce, trasformando una singola PR ricca di conflitti in una sequenza gestibile e facile da revisionare. Se il tuo flusso di lavoro combatte contro revisioni lunghe e mal di testa da merge, la preview merita una prova.