====== Pull Request ======
**Pull Request**(PR)는 GitHub에서 코드 변경사항을 다른 브랜치에 병합하기 전에 검토를 요청하는 기능입니다.
===== 📖 정의 =====
Pull Request는 개발자가 완료한 기능이나 수정사항을 메인 브랜치에 병합하기 전에 팀원들의 검토를 받는 협업 도구입니다. 코드 리뷰, 토론, 테스트를 통해 코드 품질을 향상시킬 수 있습니다.
===== 🔄 PR 워크플로우 =====
==== 기본 과정 ====
1. 기능 브랜치 생성
2. 코드 작성 및 커밋
3. 원격 저장소에 푸시
4. Pull Request 생성
5. 코드 리뷰 및 토론
6. 수정사항 반영
7. 승인 후 병합
===== 🚀 기본 사용법 =====
# 기능 브랜치 생성 및 전환
git checkout -b feature/new-feature
# 작업 후 커밋
git add .
git commit -m "Add new feature"
# 원격 저장소에 푸시
git push -u origin feature/new-feature
# PR 병합 후 로컬 정리
git checkout main
git pull origin main
git branch -d feature/new-feature
===== 📝 좋은 PR 작성법 =====
==== 제목 작성 ====
❌ 나쁜 예: "fix bug"
✅ 좋은 예: "Fix login validation error on empty password"
==== 설명 작성 ====
## 변경사항
- 로그인 폼에서 빈 패스워드 검증 로직 추가
- 에러 메시지 UI 개선
## 테스트
- [ ] 빈 패스워드로 로그인 시도
- [ ] 유효한 패스워드로 로그인 확인
## 관련 이슈
Fixes #123
===== 🔍 코드 리뷰 =====
==== 리뷰 유형 ====
* **Approve**: 승인
* **Request changes**: 수정 요청
* **Comment**: 의견 제시
==== 리뷰 포인트 ====
* 코드 품질 및 가독성
* 성능 및 보안
* 테스트 커버리지
* 문서화
===== 🛠️ PR 관리 =====
==== 상태 확인 ====
* **Open**: 검토 중
* **Merged**: 병합 완료
* **Closed**: 종료 (병합 안됨)
==== 자동화 ====
* CI/CD 파이프라인 연동
* 자동 테스트 실행
* 코드 품질 검사
===== 💡 PR 팁 =====
==== 작은 단위로 나누기 ====
* 리뷰하기 쉬운 크기
* 하나의 기능에 집중
* 빠른 피드백 가능
==== 템플릿 활용 ====
## 체크리스트
- [ ] 테스트 추가/업데이트
- [ ] 문서 업데이트
- [ ] 브레이킹 체인지 확인
===== 🔗 관련 용어 =====
* [[wiki:glossary:development_tools:git:github|GitHub]] - Git 호스팅 플랫폼
* [[wiki:glossary:development_tools:git:merge|Merge]] - 병합
* [[wiki:glossary:development_tools:git:branch|Branch]] - 브랜치
* [[wiki:glossary:development_tools:git:commit|Commit]] - 커밋
===== 📚 관련 문서 =====
* [[wiki:it:github:remote_operations|원격 저장소 작업]]
* [[wiki:it:github:branch_management|브랜치 관리]]
===== 🌐 외부 링크 =====
* [[https://docs.github.com/en/pull-requests|GitHub PR 문서]]
* [[https://github.com/features/code-review|GitHub 코드 리뷰]]
----
**카테고리:** [[wiki:glossary:start|용어집]] | **관련 기술:** GitHub, 협업, 코드 리뷰