- 현재 작업이 진행 중이라는 것을 알리기 위한 PR
- PR을 미리 만들어놓고, 머지 버튼은 활성화되지 x
Ready for review
버튼으로 활성화 가능
- 커밋 로그가 바로바로 갱신되기 때문에 오래 걸리는 작업을 할 때, 현재 작업 상태를 보여줄 수 있는 용도로 사용 가능
- 각 커밋에 대한 리뷰로 바로바로 할 수 있기 때문에, 나중에 PR 크기가 커지기 전에 부분적으로 미리 리뷰해놓을 수 있다.
Draft Pull Request에 대한 상세 설명
**Draft Pull Request(드래프트 풀 리퀘스트)**는 개발자가 작업 중인 기능이나 수정 사항을 팀원들과 공유하기 위해 사용하는 GitHub의 기능입니다. 이는 아직 완성되지 않았거나 검토를 위한 준비가 덜 된 코드를 공유하고자 할 때 유용합니다. Draft Pull Request는 일반적인 Pull Request와 몇 가지 중요한 차이점이 있으며, 협업 과정에서 효율성을 높이는 데 도움을 줍니다.
1. Draft Pull Request란?
Draft Pull Request는 완성되지 않은 코드 변경 사항을 팀원들에게 미리 알리고, 피드백을 받거나 협업을 시작하기 위한 목적으로 생성되는 풀 리퀘스트입니다. 이는 작업 진행 상황을 공유하면서도 아직 병합(Merge)되지 않았음을 명확히 표시합니다.
2. 기능과 특징
• 미완성 표시: Draft Pull Request는 일반 Pull Request와 달리 “드래프트” 상태로 표시되어, 팀원들에게 해당 변경 사항이 아직 작업 중임을 알립니다.
• 자동 알림: 팀원들에게 변경 사항을 알리는 동시에, 리뷰어나 승인자가 자동으로 요청되지 않기 때문에 작업이 완료될 때까지 리뷰 과정을 연기할 수 있습니다.
• 개선된 협업: 작업 초기 단계에서 피드백을 받고, 필요한 수정 사항을 논의하며, 작업의 방향성을 조율할 수 있습니다.
3. Draft Pull Request 생성 방법
GitHub에서 Draft Pull Request를 생성하는 방법은 다음과 같습니다:
1. 브랜치 생성: 먼저, 새로운 기능이나 수정 사항을 개발할 별도의 브랜치를 생성합니다.
git checkout -b feature/new-feature
2. 코드 변경 및 커밋: 필요한 코드 변경을 수행하고 커밋합니다.
git add .
git commit -m "Add new feature"
3. 브랜치 푸시: 변경 사항을 원격 저장소에 푸시합니다.
git push origin feature/new-feature
4. Pull Request 생성: GitHub 웹 인터페이스에서 새로운 Pull Request를 생성할 때, “Create draft pull request” 옵션을 선택합니다.
4. 일반 Pull Request와의 차이점
• 상태 표시: Draft Pull Request는 “드래프트”로 표시되어 병합되지 않았음을 명확히 합니다. 반면, 일반 Pull Request는 리뷰와 병합을 위한 준비가 완료된 상태를 나타냅니다.
• 자동 리뷰 요청: 일반 Pull Request는 생성 시 자동으로 리뷰어에게 리뷰 요청이 보내질 수 있지만, Draft Pull Request는 자동으로 리뷰 요청이 발생하지 않습니다.
• 병합 제한: Draft Pull Request는 기본적으로 병합할 수 없으며, 작성자가 준비가 완료된 후 “Ready for review”로 전환해야 병합이 가능합니다.
5. 장점 및 활용 사례
• 초기 피드백 수집: 작업 초기에 팀원들로부터 피드백을 받아 코드의 방향성을 조율할 수 있습니다.
• 협업 촉진: 여러 개발자가 동시에 작업하는 경우, 진행 중인 작업을 공유하여 중복 작업을 방지하고 협업을 촉진할 수 있습니다.
• 투명한 진행 상황 공유: 프로젝트의 진행 상황을 팀 전체에 투명하게 공유함으로써, 전체적인 프로젝트 관리에 도움이 됩니다.
6. 주의사항 및 제한점
• 병합 불가: Draft Pull Request는 기본적으로 병합이 불가능하므로, 작업이 완료되면 반드시 상태를 전환해야 합니다.
• 자동화 제한: 일부 자동화 도구나 워크플로우가 Draft Pull Request를 인식하지 못할 수 있으므로, 설정을 확인해야 합니다.
• 의사소통 필요: Draft 상태를 유지하는 동안에도 팀원들과의 지속적인 의사소통이 필요합니다. 단순히 드래프트 상태로만 표시하는 것만으로는 충분하지 않을 수 있습니다.
7. Best Practices(모범 사례)
• 명확한 설명 추가: Draft Pull Request를 생성할 때, 현재 진행 상황과 향후 계획에 대한 명확한 설명을 포함하여 팀원들이 이해하기 쉽게 합니다.
• 정기적인 업데이트: 작업 진행 상황을 정기적으로 업데이트하여 팀원들이 최신 상태를 파악할 수 있도록 합니다.
• 상태 전환: 작업이 완료되면 즉시 Pull Request 상태를 “Ready for review”로 전환하여 리뷰 과정을 시작합니다.
8. 결론
Draft Pull Request는 개발 과정에서 협업을 효율적으로 관리하고,
팀원들과의 원활한 소통을 돕는 유용한 도구입니다.
이를 적절히 활용하면 프로젝트의 품질을 향상시키고,
개발 과정에서 발생할 수 있는 문제를 사전에 예방할 수 있습니다.
