개발 환경 및 프로젝트 관리/Git 사용법

Pull Request란 무엇인가

Data Jun 2026. 3. 2. 14:01

새로운 회사에 합류해 이미 거대한 코드베이스 위에서 작업한다고 가정해 봅시다.
내가 작성한 코드가 완벽하다고 확신하기는 어렵습니다. 그렇다고 매번 선배에게 직접 확인을 요청하기도 쉽지 않습니다.

 

이때 사용하는 기능이 바로 Pull Request(PR) 입니다.

 

GitHub에서 Pull Request는
**“내 브랜치의 변경사항을 다른 브랜치에 병합해 달라고 요청하는 기능”**입니다.

즉,

feature 브랜치 → (검토 요청) → main 브랜치

PR은 단순 병합이 아니라 검토 + 토론 + 승인 + 병합의 절차를 포함합니다.

 

1. PR은 왜 필요한가

 1) 코드 품질 향상

  • 다른 개발자가 코드 리뷰
  • 실수 조기 발견
  • 더 나은 구조로 개선

PR은 “검토 요청”이기 때문에,
서로 시간이 맞지 않아도 비동기적으로 리뷰가 가능합니다.

 

 2) 자동 문서화 효과

 

PR은 단순한 기능이 아니라 기록 단위입니다.

  • commit = 변경의 최소 단위
  • PR = 기능 단위 기록

즉, PR 하나가 “이 기능은 왜 추가되었는가”를 설명하는 문서 역할을 합니다.

나중에 “왜 이런 코드를 작성했지?”라는 질문에 답해주는 기록이 됩니다.

 

 3) 복구 지점 확보

 

PR 없이 바로 merge하면
히스토리가 복잡해지고 복구가 어려울 수 있습니다.

 

PR을 통해 작업하면:

  • 변경 단위가 명확
  • 되돌리기 쉬움
  • 안정성 확보

2. 개인 프로젝트에서도 PR이 필요할까?

필수는 아니지만 매우 유용합니다.

 

개인 프로젝트에서 PR을 사용하면:

  • 스스로 코드 리뷰 가능
  • 기능 단위 정리 가능
  • 작업 흐름 훈련 가능

특히 팀 프로젝트를 준비하는 단계라면
PR 기반 작업 습관은 큰 자산이 됩니다.

 

3. 팀 프로젝트에서 PR의 역할

팀에서는 PR의 가치가 더욱 커집니다.

  • 코드 리뷰를 통한 지식 공유
  • 작성 의도 기록
  • 프로젝트 투명성 확보
  • 브랜치 보호 정책과 결합 가능

PR은 단순 병합 도구가 아니라
협업의 중심 프로세스입니다.

 

4. Pull Request 직접 만들어보기

 1) Repository 생성

GitHub에서 새로운 Repository 생성
(README.md 체크 후 생성)

 

  2) Clone

git clone https://github.com/<username>/<repository>.git
cd <repository>

 

 

 

 

 3) 브랜치 생성

git checkout -b my-first-branch

 

 4) 파일 수정 후 커밋

git add -A
git commit -m "this is my first branch commit"

 

 5) 원격으로 push

git push origin my-first-branch

push 후 GitHub에서:

 

Create a pull request

 

버튼이 나타납니다.

 

 6) PR 생성

  • 제목 작성
  • 변경 목적 설명
  • Create pull request 클릭

 

 

5. PR 상태 이해하기

PR은 크게 세 가지 상태를 가집니다.

 

 1) Open

  • 검토 진행 중
  • 추가 커밋 가능

 

2) Merged

  • 병합 완료
  • main 브랜치에 반영됨

 3) Closed

  • 병합 없이 종료
  • 필요 시 다시 Open 가능

Merged도 결국 Closed 범주에 포함됩니다.

 

6. 브랜치 간 Merge와 PR의 관계

여기서 중요한 개념을 정리합니다.

 

 1) Merge란?

 

실제로 브랜치를 합치는 행위입니다.

git checkout main
git merge feature

이건 로컬 병합입니다.

 

 2) PR이란?

 

“feature 브랜치를 main에 병합해 주세요”라는 요청 절차입니다.

 

GitHub에서는:

  • PR 생성
  • 코드 리뷰
  • Merge pull request 클릭
  • 실제 병합 발생

즉,

 

PR은 절차
Merge는 결과

 

 

 3) 협업 표준 구조

main (보호 브랜치)
   ↑
feature/a
feature/b
feature/c
  • main 직접 push ❌
  • feature 브랜치에서 작업
  • PR 통해 main 병합

이 구조가 가장 안전하고 표준적인 협업 방식입니다.

 

7. 앞으로의 기본 작업 흐름

앞으로의 개발 흐름은 다음과 같습니다.

git pull
git checkout -b feature/기능이름
작업
git add .
git commit -m "기능 설명"
git push origin feature/기능이름
PR 생성
리뷰 후 merge

이 패턴이 익숙해지면
협업이 훨씬 안정적이고 체계적으로 변합니다.

 

8. 정리

Pull Request는 브랜치 병합을 요청하는 절차이자,

협업·코드 리뷰·문서화를 동시에 해결하는 개발의 핵심 프로세스입니다.