Skip to content

Pull Request란? ​

새로운 팀에 합류했다고 생각해 봅시다. 이미 방대한 코드가 쌓여 있는 프로젝트에 내 코드를 처음 얹으려니 겁이 나죠. "이거 버그 없을까?" 매번 바쁜 선배를 붙잡고 검사받을 수도 없는 노릇입니다. 이럴 때 쓰는 기능이 **Pull Request(PR)**입니다.

PR이란, 내가 작업한 내용을 다른 사람에게 검토받고 머지해 달라고 요청하는 GitHub 기능입니다. 특정 시간을 맞추지 않아도 되고, 서로 의견을 자유롭게 주고받을 수 있어서 코드 품질이 자연스럽게 올라갑니다.

혼자 할 때도 쓰는 이유 ​

개인 프로젝트라도 PR은 쓸모가 있습니다. PR 하나하나가 기능 단위의 기록이 되기 때문에, 굳이 문서를 따로 안 써도 "이 커밋 묶음이 왜 필요했는지"가 자동으로 남습니다. 또 PR 없이 바로 머지하면 실수했을 때 되돌리기 어렵지만, PR로 쌓아두면 remote에 기록이 남아 쉽게 복구할 수 있습니다.

팀 프로젝트에서는 더 중요해진다 ​

팀에서는 PR을 통해 서로의 코드를 읽으며 지식이 공유되고, 작성자의 의도가 투명하게 드러납니다. "왜 이렇게 짰지?"를 미래의 나 자신도 PR을 보면 기억해낼 수 있죠.

실제 작업 순서 ​

앞으로 모든 작업은 이 순서를 따르게 됩니다.

git pull → 브랜치 생성(git checkout -b) → 커밋(git add & git commit) → git push → PR 생성

PR의 3가지 상태 ​

상태의미
Open아직 검토 중이거나 추가 작업이 필요한 상태. 커밋을 더 얹거나 토론할 수 있습니다.
Merged기본 브랜치로 병합 완료된 상태. Merge 버튼을 누르면 여기로 바뀌고, 이후엔 추가 커밋을 얹을 수 없습니다.
Closed거부됐거나 더 이상 필요 없어진 상태. 브랜치가 남아 있다면 다시 Open으로 되돌릴 수 있습니다.

참고로 Merged도 결국 "닫힌" PR이기 때문에, GitHub의 Closed 탭에서는 Merged와 Closed가 함께 보입니다.

출처: Codyssey-B1/B2-2