x

이메일로 만나보는 스타트업 가이드

투자, 행사, 정부사업 등 스타트업 생태계 소식을 이메일로 편하게 받아보세요.

깃허브(GitHub)가 스택형 풀 리퀘스트라는 개발 기법을 공식 지원하는 기능인 깃허브 스택드 PRs(GitHub Stacked PRs)를 발표했다.

개발자가 코드를 작성할 때 대규모 기능을 구현하는 경우에도 작은 변경을 쌓아가며 한 단계씩 개발해 나가는 게 보통이다. 개발에 깃허브를 활용하는 경우 이런 변경 사항을 풀 리퀘스트(Pull Request)로 정리하고 리포지토리 관리자가 리뷰한 후 머지(merge)하는 절차를 밟게 된다. 하지만 작은 변경이 대량 누적되면 최종적으로 거대한 풀 리퀘스트가 되고 리뷰어가 변경 사항과 상호작용을 파악해야 하는 부담이 커져 리뷰 난도가 높아지는 문제가 있다.

이런 문제를 해결하기 위해 개발된 게 스택형 풀 리퀘스트 기법. 스택형 풀 리퀘스트는 개발자가 비교적 작은 변경을 가한 시점에 풀 리퀘스트를 생성하고 해당 풀 리퀘스트를 기반으로 다음 단계를 개발하는 방식이다. 리뷰를 기다리지 않고 풀 리퀘스트 위에 풀 리퀘스트를 쌓아 올리기 때문에 스택형이라고 불린다. 세분화된 코드 단위로 리뷰를 진행할 수 있어 리뷰 부담이 줄어든다.

한편 기반이 되는 풀 리퀘스트에 수정이 이뤄지면 이후 스택 전체를 수정하는 리베이스(rebase) 작업이 필요하기 때문에 지금까지는 ghstack 같은 스택형 풀 리퀘스트 전용 도구를 활용해 왔다.

이번에 등장한 깃허브 스택드 PRs는 깃허브가 공식 제공하는 스택형 풀 리퀘스트 전용 도구다. 깃허브 본체에 통합되면서 깃허브 풀 리퀘스트 화면에서 현재 보고 있는 풀 리퀘스트가 스택 어느 위치에 있는지를 나타내는 스택 맵(stack map)이 표시되며 스택 전체 상태를 한눈에 확인하고 스택 내 다른 풀 리퀘스트를 손쉽게 열람할 수 있게 된다.

 

또 스택된 복수 풀 리퀘스트를 원클릭으로 일괄 머지할 수 있다. 하위 풀 리퀘스트가 머지되거나 수정된 경우 상위 풀 리퀘스트가 자동으로 리베이스되는 구조다.

리포지토리에 CI(지속적 통합)가 설정된 경우에도 최종 머지 대상을 타깃으로 하는 것처럼 동작한다고 한다. 브랜치 보호 규칙 역시 동일하게 최종 머지 대상을 기준으로 적용된다.

현재 깃허브 스택드 PRs는 프라이빗 프리뷰 단계이며 이용을 원할 경우 대기 리스트에 등록해야 한다. 관련 내용은 이곳에서 확인할 수 있다.

뉴스 레터 구독하기

Related Posts

No Content Available
Next Post