코드를 Merge 하기 위해 팀원에게 리뷰를 받는 단계인 Pull Request에 대한 Template 생성과 코드 리뷰 실습을 진행합니다.
해당 실습 자료는 2. Github Issue 기반으로 개발하기에서 이어집니다.
Pull Request Template 생성하기
Pull Request Template은 .github/PULL_REQUEST_TEMPLATE.md 파일을 추가 해야합니다.
이전 실습에서 넘어오신 분들은 feat-1/add-funcion 브랜치에서 main 브랜치로 이동해주세요.
git checkout main 명령어로 이동할 수 있습니다.
.github/PULL_REQUEST_TEMPLATE.md 경로에 파일을 생성하고 다음과 같이 입력합니다.
Resolved, Closed, Fixed 같은 키워드와 함께 Issue Tag가 작성되어있고, Github Repository의 Default Branch에 Merge 되는 경우 PR Merge 와 함께 Issue를 닫을 수 있습니다.## Overview
-
## Change Log
-
## To Reviewer
-
## Issue Tags
- Closed | Fixed: #
- See also: #

Commit 을 남기고 Push 합니다.

.github 경로에서 Pull Request Template이 추가된 것을 확인할 수 있습니다.

Pull Request 생성하기
이전 실습에서 Push 해둔 feat-1/add-function 작업에 대해 Pull Request를 생성합니다.

다음과 같이 생성한 Pull Request Template의 내용대로 입력되어있는 것을 확인할 수 있습니다.

Pull Request의 내용을 입력한 뒤 생성합니다.

다음과 같이 Pull Request가 생성됩니다.

이 때 리뷰 요청을 받은 리뷰어는 메일 혹은 지정한 방식으로 알림을 받게 됩니다.
Pull Request에서 코드 리뷰 남기기
이번에는 코드 리뷰를 요청 받은 리뷰어의 시점으로 진행합니다. 다음과 같이 이메일을 받고 리뷰를 시작한다고 가정하겠습니다.
(실습을 진행하실 때는 자료의 예시처럼 2개의 계정을 왔다갔다 하실 필요는 없습니다.)

리뷰어가 Pull Request에 들어오면 다음과 같은 화면에서 얻을 수 있는 정보를 얻습니다.

Files changed 탭으로 이동하여 코드 리뷰를 시작합니다.

코드 리뷰는 코드 라인에 마우스를 올리면 + 버튼으로 시작할 수 있습니다.


Preview 오른쪽에 있는 +-가 포함된 문서 기호를 선택하면 코드 제안을 하는것도 가능합니다.

코멘트는 두 가지 방식으로 남길 수 있습니다.

리뷰는 세 가지 방식으로 남길 수 있습니다.

Pull Request에서 코드 리뷰 반영하기
작업 담당자의 시점으로 돌아와 팀원이 남겨준 코드 리뷰를 기반으로 수정해보겠습니다.

에러가 발생했을 때 None을 반환하는 것 보다는 먼저 타입 에러를 그대로 반환하는 것으로 진행해보겠습니다.

main 브랜치에서 feat-1/add-funcion 브랜치로 이동해주세요.
git checkout feat-1/add-funcion 명령어로 이동할 수 있습니다.
Pull Request 승인하기
다시 리뷰어 화면으로 돌아가 변경된 코드를 승인해보겠습니다.
main.py 파일에 Outdated 표시가 생겼습니다.
Files changed 탭으로 이동하여 다음과 같이 메시지를 남기고 Pull Request를 승인합니다.

코드가 다음과 같이 승인 되었습니다.

코드를 Merge 할 때 선택할 수 있는 방법은 세 가지가 있습니다.

Create a merge commit으로 코드를 병합하겠습니다.
다음과 같이 코드가 Merge 됩니다.
1번 Issue 도 자동으로 닫힌 것을 확인할 수 있습니다.