PR 생성하기
한 줄 요약
GitHub에서 Pull Request를 생성하는 방법
선행 지식
- Pull Request란 - PR의 개념
- git push - 원격에 push하는 방법
사전 준비
PR을 생성하려면 먼저:
- 브랜치에서 작업 완료
- 원격 저장소에 push
# 1. 기능 브랜치에서 작업
git switch -c feature/login
# 2. 작업 및 커밋
git add .
git commit -m "feat: 로그인 기능 추가"
# 3. 원격에 push
git push -u origin feature/loginGitHub에서 PR 생성
방법 1: push 후 안내 배너
push하면 GitHub에 노란 배너가 표시됩니다:
┌─────────────────────────────────────────────────────────────────┐
│ 🟡 feature/login had recent pushes less than a minute ago │
│ [Compare & pull request] │
└─────────────────────────────────────────────────────────────────┘
“Compare & pull request” 버튼을 클릭하세요.
방법 2: Pull requests 탭
- 저장소의 “Pull requests” 탭 클릭
- “New pull request” 버튼 클릭
- base(병합 대상)와 compare(내 브랜치) 선택
base: main ← compare: feature/login
PR 작성 화면
┌─────────────────────────────────────────────────────────────────┐
│ Open a pull request │
│ │
│ base: main ← compare: feature/login │
│ ✅ Able to merge │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Title: [feat: 로그인 기능 추가 ] │
│ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ ## 변경 사항 │ │
│ │ - JWT 기반 로그인 구현 │ │
│ │ - 로그인 폼 UI 추가 │ │
│ │ │ │
│ │ ## 관련 이슈 │ │
│ │ Closes #42 │ │
│ │ │ │
│ │ ## 테스트 │ │
│ │ - [x] 로그인 성공 케이스 │ │
│ │ - [x] 로그인 실패 케이스 │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ Reviewers: @teammate │
│ Assignees: @me │
│ Labels: enhancement │
│ │
│ [Create pull request ▼] │
└─────────────────────────────────────────────────────────────────┘
PR 제목 작성
형식
타입: 간단한 설명
예시:
feat: 로그인 기능 추가
fix: 이메일 검증 버그 수정
docs: API 문서 업데이트
refactor: 인증 로직 분리
좋은 예시 vs 나쁜 예시
✅ feat: 소셜 로그인 (Google, Kakao) 추가
✅ fix: 로그인 시 비밀번호 특수문자 오류 수정
❌ 수정
❌ 로그인
❌ Update app.js
PR 본문 템플릿
기본 템플릿
## 변경 사항
<!-- 무엇을 변경했는지 -->
-
## 변경 이유
<!-- 왜 변경했는지 -->
-
## 관련 이슈
<!-- 관련된 이슈 번호 -->
Closes #이슈번호
## 테스트
<!-- 어떻게 테스트했는지 -->
- [ ] 테스트 항목 1
- [ ] 테스트 항목 2
## 스크린샷 (UI 변경시)
<!-- 변경된 UI 스크린샷 -->예시
## 변경 사항
- JWT 기반 로그인 API 구현
- 로그인 폼 컴포넌트 추가
- 인증 미들웨어 작성
## 변경 이유
사용자 인증 기능이 필요하여 JWT 기반 로그인을 구현했습니다.
## 관련 이슈
Closes #42
Relates to #38
## 테스트
- [x] 올바른 자격증명으로 로그인 성공
- [x] 잘못된 비밀번호로 로그인 실패
- [x] 토큰 만료 시 재인증 요청
## 스크린샷
추가 설정
Reviewers (리뷰어)
코드를 검토할 팀원을 지정합니다.
Assignees (담당자)
이 PR의 담당자를 지정합니다.
Labels (라벨)
bug - 버그 수정
enhancement - 새 기능
documentation - 문서
help wanted - 도움 필요
Projects / Milestone
프로젝트 보드나 마일스톤에 연결합니다.
Draft PR
아직 작업 중이지만 피드백을 받고 싶을 때:
- “Create pull request” 옆 화살표 클릭
- “Create draft pull request” 선택
[Create pull request ▼]
└── Create draft pull request
작업 완료 후 “Ready for review” 버튼으로 전환합니다.
PR 생성 후
추가 커밋
PR 생성 후에도 같은 브랜치에 push하면 자동 반영됩니다:
# 리뷰 피드백 반영
git add .
git commit -m "fix: 리뷰 반영 - 에러 처리 추가"
git push충돌 발생 시
# 최신 main 가져와서 병합
git fetch origin
git merge origin/main
# 충돌 해결 후
git add .
git commit
git push→ 충돌 해결하기 참고
자주 하는 실수
잘못된 base 브랜치
문제: develop에 병합해야 하는데 main으로 PR 생성
해결: PR 생성 전 base 브랜치 확인
base: develop ← compare: feature/login
PR 설명 없음
문제: 리뷰어가 맥락을 모름
해결: 무엇을/왜/어떻게 변경했는지 설명
관련 문서
- Pull Request란 - PR 개념
- 코드 리뷰 - 리뷰 받기/하기
- 충돌 해결하기 - 충돌 해결