PR (Pull Request)
PR(Pull Request)은 코드 변경 사항을 다른 사람에게 요청하여 코드 리뷰와 통합을 거치는 과정입니다. 주로 Git과 GitHub, GitLab, Bitbucket 등의 버전 관리 시스템에서 사용됩니다. PR은 협업 개발에서 매우 중요한 역할을 하며, 다른 개발자가 작성한 코드 변경 사항을 검토하고, 수정 사항을 제안하거나 승인하는 과정입니다.
PR의 주요 목적
1. 코드 리뷰
PR을 통해 다른 팀원들이 작성한 코드를 리뷰하고 피드백을 제공합니다. 코드 리뷰는 코드 품질을 높이고, 버그를 줄이며, 일관된 코드 스타일을 유지하는 데 도움을 줍니다.
2. 통합
PR을 통해 변경된 코드를 메인 브랜치나 다른 주요 브랜치에 통합할 수 있습니다. 이를 통해 여러 개발자들이 작업한 내용을 하나의 프로젝트로 결합합니다.
3. 협업
PR은 여러 개발자가 동시에 작업할 때 각자의 작업을 결합하고, 충돌을 해결하며, 최종적으로 프로젝트에 반영할 수 있게 해줍니다.
4. 버전 관리
PR은 코드 변경 사항을 명확히 추적하고 기록할 수 있게 해줍니다. 어떤 변경이 언제, 왜, 어떻게 이루어졌는지를 알 수 있게 합니다.
PR 작성 과정
- 기능 개발: 개발자가 새로운 기능이나 버그 수정을 작업합니다.
- 브랜치 생성: 개발자는
feature
또는bugfix
등의 이름을 가진 브랜치를 생성하여 작업을 시작합니다. - PR 제출: 작업이 완료되면, 해당 브랜치를 메인 브랜치(보통
master
또는main
)에 병합하기 위해 PR을 생성합니다. - 코드 리뷰: 다른 팀원들이 PR을 확인하고, 코드에 대한 피드백을 제공하거나, 변경을 요청할 수 있습니다.
- 수정 및 승인: 코드 리뷰 후 필요한 수정을 진행하고, 리뷰어가 최종적으로 승인을 하면 PR이
merge
됩니다. - 병합: PR을 통해 변경 사항이 메인 코드베이스에 병합되어 프로젝트에 반영됩니다.
PR은 협업 과정에서 팀원 간의 소통을 원활하게 하고, 프로젝트의 품질을 유지하는 데 중요한 역할을 합니다.
PR을 작성할 때 일관성 있는 형식과 규칙을 지키는 것은 협업을 효율적으로 만들고,
코드 리뷰를 원활하게 진행하는 데 중요한 역할을 합니다.
## #️⃣ Issue Number (Optional)
<!--- ex) #이슈번호 : 이슈 번호를 입력하면, 이 PR이 어떤 문제를 해결하는지 명확히 할 수 있습니다. (예: #123) -->
## 🛠️ PR 유형
<!--- 변경 사항 체크 후 불필요한 항목은 삭제해주세요. -->
어떤 변경 사항이 있나요?
- [ ] 새로운 기능 추가
- [ ] 버그 수정
- [ ] 문서 수정(README 등)
- [ ] 코드 포매팅(오타 수정, 탭 사이즈 변경, 변수명 변경)
- [ ] 코드 리팩토링(기능 변경 없이 개선)
- [ ] UI 디자인 변경(HTML/CSS 수정)
- [ ] 빌드 파일 수정
- [ ] 테스트 코드 작성 및 리팩토링
- [ ] 외부 라이브러리 추가, 설정 변경등 기타 작업
- [ ] CI/CD 설정 변경
- [ ] 이전 커밋을 되돌릴 때(revert)
- [ ] 파일 혹은 폴더명 수정 / 삭제
## 📸스크린샷(Optional)
<!--- UI 변경 사항이나 시각적인 변화를 포함한 경우 스크린샷을 첨부해 주세요. -->
## 📝 요약(Summary)
<!--- 변경 사항 및 관련 이슈에 대해 작성해주세요. 어떤 문제를 해결했는지, 변경한 주요 기능이나 개선 사항을 작성해 주세요. -->
## 💬 리뷰어에게 전달할 사항(Optional)
<!--- 리뷰어가 중점적으로 봐줬으면 좋겠는 부분이 있으면 적어주세요. -->
<!--- 논의해야할 부분이 있다면 적어주세요.-->
<!--- ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요? -->
## ✅ PR Checklist
PR이 다음 요구 사항을 충족하는지 확인하세요.
- [ ] 커밋 메시지 컨벤션에 맞게 작성했습니다.
- [ ] 변경 사항에 대한 변경 사항에 대한 단위 테스트, 통합 테스트를 했습니다.
- [ ] PR을 다른 사람에게 승인 요청하기 전에 코드가 모든 요구 사항을 충족하는지 확인했습니다.
위 예시는 PR을 작성할 때 필요한 기본적인 사항들을 명확히 하기 위한 템플릿입니다.
'Engineering > Architecture' 카테고리의 다른 글
Git branch 전략(개인브랜치별) (0) | 2025.03.19 |
---|---|
Git Branch 전략(기능별) (0) | 2025.03.19 |
Git Branch 네이밍 규칙 (2) | 2025.03.19 |
Git Commit 컨벤션 (0) | 2025.03.19 |