GitHub Pull Request란
GitHub Pull Request란? 협업의 핵심, 코드 리뷰의 시작
오픈소스든 회사 프로젝트든 협업 개발에서 가장 자주 사용되는 기능 중 하나가 Pull Request다. 하지만 초보 개발자에게는 개념도 헷갈리고 버튼도 많아 막막하게 느껴질 수 있다.
이 글에서는 Pull Request(이하 PR)의 개념, 작성 방법, 협업에서의 역할까지 핵심만 정리한다.
Pull Request란?
Pull Request는 말 그대로 “내가 만든 변경사항을 기존 저장소로 가져와 달라(pull)”는 요청이다.
쉽게 말하면:
- A 브랜치에서 기능을 개발했다
- 이제 이 코드를
main
브랜치에 합치고 싶다 - 그 전에 코드 리뷰, 테스트 등을 요청하는 절차가 필요하다
이걸 GitHub에서는 “Pull Request(PR)”라고 부른다.
핵심 개념:
내 코드 → 누군가의 브랜치로 병합해도 될지 요청하는 절차
PR 흐름
브랜치 생성
feature/login
같은 새 브랜치에서 작업한다.작업 후 커밋 기능을 구현하고 커밋을 남긴다.
Push 원격 저장소에 브랜치를 푸시한다.
Pull Request 생성 GitHub에서 해당 브랜치를 기준으로 PR을 만든다.
리뷰 / 피드백 반영
Merge (병합) 리뷰가 끝나면
main
브랜치 등으로 병합한다.
실제 사용 예
1
2
3
4
5
6
7
8
9
# 브랜치 생성
git checkout -b feature/login
# 작업 후 커밋
git add .
git commit -m "Add login form UI"
# 원격에 푸시
git push origin feature/login
그 후 GitHub 웹사이트로 가면 Compare & pull request
버튼이 뜨고, 클릭하면 PR 화면으로 이동한다.
PR 작성 시 좋은 습관
제목은 요약, 본문은 상세 예: 제목:
회원가입 폼 유효성 검사 추가
본문:1 2 3
- 이메일, 비밀번호, 비밀번호 확인 필드에 유효성 검사 추가 - 잘못된 입력 시 빨간색 테두리 표시 - useForm 훅 사용
스크린샷 or 영상 첨부 (UI/UX 변경 시)
관련 이슈 번호 연결
Closes #13
→ 머지되면 자동으로 이슈 닫힘
PR의 이점
장점 | 설명 |
---|---|
코드 리뷰 | 동료에게 코드 리뷰를 요청 가능 |
변경 이력 추적 | 어떤 브랜치에서 어떤 기능이 추가됐는지 명확 |
자동 테스트 연동 | PR 시점에 CI 테스트 자동 실행 가능 |
협업 표준화 | 팀 전체가 동일한 절차로 병합 |
PR vs Push 차이
항목 | Push | Pull Request |
---|---|---|
목적 | 내 로컬 변경을 원격에 반영 | 변경사항 병합 요청 |
검토 과정 | 없음 | 있음 (리뷰, 승인) |
협업 적합도 | 낮음 | 높음 |
PR 없이 바로 main
에 push 하는 것은 팀 협업에서는 금지 수준의 실수다.
결론
GitHub에서의 Pull Request는 단순한 병합 도구가 아니다. 협업의 시작점, 코드 품질의 보증 절차, 문서로 남는 커뮤니케이션 기록이다.