- 큰 변경을 작고 검토 가능한 계층으로 나누는 Stacked pull requests가 모든 저장소에 공개 미리보기로 순차 제공됨
- 각 PR은 바로 아래 계층을 대상으로 삼아 팀원들이 좁은 범위의 diff를 병렬로 독립 검토할 수 있음
- 최신 PR을 병합하면 아래의 미병합 계층까지 한 번에 반영되며, 일부만 병합할 경우 위쪽 PR은 자동 리베이스 및 대상 변경됨
- 기존 PR 검토, 필수 검사, 브랜치 보호, 병합 요건이 그대로 적용되며 GitHub.com·CLI·모바일 앱·GitHub Copilot에서 스택을 다룰 수 있음
- 공개 미리보기는 며칠에 걸쳐 전체 저장소로 확대되고, Merge queue 지원은 이후 몇 주 동안 점진적으로 제공됨
작은 변경을 쌓는 PR 구조
- 큰 변경을 작고 집중된 여러 PR로 나누고, 각 PR을 순서가 있는 변경 계층으로 구성함
- 첫 변경용 브랜치와 PR을 만든 뒤 그 위에 브랜치와 PR을 추가하며, 각 PR은 바로 아래 계층을 대상으로 삼음
- 단일 대형 PR을 검토하거나 여러 브랜치를 수동으로 계속 리베이스해야 하는 불편을 줄임
- Next.js 팀은 큰 기능을 출시하면서도 개별 변경을 작게 유지해 PR 검토가 쉬워졌다고 평가함
스택 생성과 작업 환경
gh extension install github/gh-stack
- GitHub.com, GitHub CLI, GitHub 모바일 앱에서 스택을 만들고 관리할 수 있음
- GitHub Copilot 같은 코딩 에이전트에서는
gh-stack skill을 이용할 수 있음
계층별 독립 검토
- 스택 안의 PR을 열면 전체 변경이 아닌 해당 계층의 diff만 검토할 수 있음
- PR 상단의 스택 맵에서 현재 변경이 전체 작업 중 어디에 위치하는지 확인 가능함
- 팀원들이 서로 다른 계층을 병렬로 검토할 수 있어 이후 작업이 검토 완료까지 막히지 않음
- 기존 브랜치 보호 규칙과 계층별 검토를 함께 적용해 각 단계의 품질을 관리함
- TED는 AI 도입으로 개발 생산성이 높아진 뒤 커진 PR이 검토 병목으로 이어졌으며, 변경을 의존성 순서에 따라 작은 논리 단위로 나눠 검토 속도와 정확도를 높였다고 밝힘
전체 또는 일부 스택 병합
- 준비가 끝난 최신 PR을 병합하면 해당 PR과 그 아래의 모든 미병합 계층을 한 번에 반영함
- 아래쪽 계층 하나 이상만 골라 스택 일부를 먼저 병합할 수도 있음
- 위쪽 PR은 열린 상태로 유지됨
- 병합된 변경에 맞춰 자동으로 리베이스되고 대상 브랜치도 변경됨
- 기존 브랜치 보호, 필수 검사, 병합 요건은 계속 적용돼
main에 들어가는 변경을 통제함
- 전체 스택뿐 아니라 한 계층 또는 일부 계층만 선택적으로 병합 가능함
공개 미리보기와 지원 일정