주제 3
Pull Request
작업 브랜치를 GitHub에 올리고 main을 대상으로 Pull Request를 엽니다. 변경 파일과 검토 의견을 확인해 병합을 준비합니다.
Pull Request의 의미
Pull Request(PR)는 작업 브랜치의 변경을 다른 브랜치에 합치자고 제안하는 GitHub 기능입니다. 병합하기 전에 변경 내용을 검토하고 의견을 나눌 수 있습니다.
PR을 만들 때 base에는 변경을 받을 main을, compare에는 작업 브랜치를 선택합니다. GitHub는 이 방향을 기준으로 변경 차이를 보여줍니다.
브랜치를 GitHub에 올리기
작업 내용을 커밋한 뒤 VS Code 통합 터미널에서 git branch --show-current로 현재 브랜치가 draft-section인지 확인합니다. 처음 올리는 브랜치라면 다음 명령으로 GitHub에 게시합니다.
git push -u origin draft-section
-u는 로컬 draft-section의 기본 원격 브랜치를 설정합니다. 이후 같은 브랜치에서는 git push로 새 커밋을 올릴 수 있습니다.
Pull Request 열기
아래 기존 이미지는 new-contents 예시 브랜치를 보여줍니다. 실제 작업에서는 본문에 사용한 draft-section을 선택하세요.
GitHub 저장소에서 draft-section 브랜치를 선택합니다. 파일 목록 위에 Compare & pull request가 보이면 선택합니다. 보이지 않으면 Pull requests > New pull request로 이동합니다.
PR 작성 화면에서 base: main과 compare: draft-section인지 확인합니다. 아래 변경 목록이 의도한 작업만 보여주는지도 살펴봅니다.
제목에는 작업을 짧게 적고, 설명에는 변경 내용과 이유, 검토할 부분을 적습니다. 준비되면 Create pull request를 선택합니다.
Pull Request 검토하기
PR 페이지의 Conversation에서 설명과 댓글을, Commits에서 커밋을, Checks에서 자동 검사 결과를, Files changed에서 파일 차이를 확인합니다.
Files changed에서 예상한 파일만 포함됐는지와 각 변경 내용을 확인합니다. 검토를 부탁하려면 오른쪽 Reviewers에서 공동 작업자를 선택합니다. 검토자는 댓글을 남기거나 승인 또는 수정을 요청할 수 있습니다.
수정 요청을 받으면 같은 draft-section 브랜치에서 파일을 고칩니다. Source Control에서 수정한 파일만 Stage하고 커밋한 뒤 git push로 올립니다. 새 커밋이 올라가면 PR의 변경 내용도 갱신됩니다.
git push
Pull Request 병합 준비
요청된 수정과 팀의 검토가 끝났는지 확인합니다. Conversation 하단의 병합 상태에서 충돌 여부를 확인하고, 저장소가 필수 승인이나 자동 검사를 요구한다면 해당 조건도 충족합니다.
검토가 끝난 PR은 열린 상태로 둡니다. Merge에서 병합하고 로컬 main을 갱신합니다.