Stacked Diffs(Stacked PR)
Jeremy's Blog
Pull Request로 협업할 때 하나의 방법인 Stacked Diffs(PR)에 대한 설명입니다.
꼭 Pull Request 아니라고 하더라도 협업을 할 때 변경사항을 제출하게 되는데 이때 코드리뷰를 하게 된다면 해당 변경사항이 적용되기 전까지 시간이 걸리기 때문에 이로인한 어려움이 생기게 됩니다. Pull Request가 머지되는데 1시간이 걸릴수도 있고 며칠이 걸릴 수도 있는데 이때 그냥 기다릴 수만은 없고 작업을 계속 이어서 해야 하기 때문이다.
mian 브랜치에서 브랜치를 만들어서 작업할 수도 있지만 보통은 앞의 PR에서 이어서 작업해야 하기 때문에 앞의 브랜치의 코드가 필요한 경우가 많습니다. 코드 리뷰가 잘 되기 위해서는 변경사항을 작게 만드는 것이 좋기 때문에 이런 경우는 PR이 계속 이어지게 됩니다.
이 문제를 해결하기 위한 방법 중 하나가 Stacked PR입니다. 각 PR이 이어져서 쌓이기 때문에 stacked라는 표현을 쓰고 Facebook에서 많이 사용하는 것으로 보통 알려져 있습니다.
이 글에서 Stacked PR이 필요한 상황고 GitHub에서 Stacked PR을 만드는지를 설명하고 있습니다. Stacked PR이 간단해 보이지만 첫번째 PR이 리뷰받으면서 수정이 되거나 하면 다른 PR들도 리베이스를 해주어기 때문에 손이 꽤 많이 가는 편입니다. 이런 점을 쉽게 해결하게 해주는 Graphite 등의 도구들도 소개해 주고 있습니다.
저는 개인적으로 Stacked PR을 사용하지 않기 합니다. 손이 느려서 그런지 PR을 잘게 나누면서 여러 작업을 섞어서 하거나 작업을 초기 단계별로 계속 올려서 크게 필요하게 느끼진 않고 있습니다만 Stacked PR은 상황에 따라 필요한 경우도 꽤 있어서 잘 알아두면 좋다고 생각합니다.
https://sungjk.github.io/2024/03/17/stacked-diffs.html
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 4월 12일 오전 10:57