포스트

[GitHub 100일 챌린지] Day 57 - Pull Request 생성 실습

[GitHub 100일 챌린지] Day 57 - Pull Request 생성 실습

100일 챌린지 Day 57 - 실제로 Pull Request를 생성하는 전체 과정을 실습합니다.

배울 내용

  1. PR 생성 전 준비사항
  2. GitHub 웹에서 PR 생성하기
  3. PR 템플릿 활용하기

1. PR 생성 전 체크리스트

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 1. 최신 상태 확인
git fetch upstream
git checkout main
git merge upstream/main

# 2. 작업 브랜치 최신화
git checkout feature-branch
git merge main

# 3. 로컬 테스트
npm test  # 또는 프로젝트 테스트 명령

# 4. 린트 체크
npm run lint

# 5. 커밋 정리 (필요시)
git log --oneline -5

2. Push to Origin

1
2
3
4
5
6
# Origin에 Push
git push origin feature-awesome

# 출력 확인:
# To https://github.com/myname/project.git
#  * [new branch]      feature-awesome -> feature-awesome

3. GitHub 웹에서 PR 생성

Step 1: Compare & Pull Request

1
2
3
1. GitHub에서 내 Fork 페이지 접속
2. "Compare & pull request" 버튼 클릭
   (Push 직후 자동으로 나타남)

Step 2: Base와 Head 선택

1
2
3
4
5
base repository: original/project
base: main

head repository: myname/project  
compare: feature-awesome

Step 3: 제목과 설명 작성

제목 예시:

1
2
3
feat: Add dark mode toggle
fix: Resolve mobile layout issue
docs: Update API documentation

설명 예시:

1
2
3
4
5
6
7
8
9
10
11
12
## 변경 사항
- 다크 모드 토글 버튼 추가
- 사용자 설정 저장 기능 구현

## 테스트
- [ ] 라이트 모드 → 다크 모드 전환
- [ ] 새로고침 후 설정 유지 확인

## 스크린샷
![dark-mode](screenshot.png)

Closes #123

Step 4: PR 생성

1
"Create pull request" 버튼 클릭

4. PR 템플릿 활용

템플릿 파일 생성

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# .github/pull_request_template.md
mkdir -p .github
cat > .github/pull_request_template.md << 'TEMPLATE'
## 변경 사항
<!-- 무엇을 변경했는지 설명 -->

## 변경 이유
<!-- 왜 이 변경이 필요한지 설명 -->

## 테스트 방법
- [ ] 테스트 1
- [ ] 테스트 2

## 체크리스트
- [ ] 로컬 테스트 통과
- [ ] 린트 통과
- [ ] 문서 업데이트
TEMPLATE

5. Draft PR

1
2
3
작업이 완료되지 않았을 때:
1. "Create draft pull request" 선택
2. 작업 완료 후 "Ready for review"

6. PR 생성 후 할 일

1
2
3
4
5
6
7
8
9
10
11
# 1. CI 통과 확인
# GitHub에서 자동 테스트 결과 확인

# 2. 리뷰어 지정 (권한 있는 경우)
# Reviewers 섹션에서 선택

# 3. 라벨 추가 (권한 있는 경우)
# Labels: bug, enhancement, documentation

# 4. 관련 Issue 연결
# "Closes #123" 또는 링크 추가

7. 흔한 실수 방지

❌ 피해야 할 것:

  • 너무 큰 PR (500+ 라인)
  • 불명확한 제목
  • 설명 없음
  • 관련 없는 변경사항 포함
  • 테스트하지 않은 코드

✅ 좋은 PR:

  • 단일 목적
  • 명확한 제목과 설명
  • 작은 단위 (< 300 라인)
  • 테스트 포함
  • 문서 업데이트

정리

완료 체크:

  • PR 생성 전 체크리스트를 수행할 수 있다
  • GitHub 웹에서 PR을 생성할 수 있다
  • PR 템플릿을 작성할 수 있다

핵심 요약:

  • Push → Compare & pull request → Create
  • Base (원본) vs Head (내 Fork) 확인
  • 명확한 제목과 상세한 설명 필수

다음: Day 58 - PR 설명 작성법


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.