

오늘은 협업을 코드를 작성한 뒤, 다른 사람의 코드와 병합하는 과정을 알아보도록 하겠습니다.
크게 PR - review - merge의 과정을 알아볼 것이고, review는 내용이 길기 때문에 후술하도록 하겠습니다.
우리는 협업 시에 작성한 코드를 모두 main에 올리면 안되니, branch를 따로 만들어서 작업을 진행합니다.
작업을 하고나서 git push origin 브랜치명을 입력하여 원격 저장소에 올리게 되는데요.
파트 2에서 작업한 내용을 원격 저장소에 push를 해봤습니다.

일단 성공적으로 push가 완료됐습니다.
push가 완료됐으니 이제 pull request(이하 PR)을 해보려고 합니다.


이미지처럼 push를 하면 자동으로 메인 페이지에 떠있습니다.
여기서 Compare & pull request를 눌러도 됩니다.

이유는 모르겠지만 간혹 자동으로 뜨지 않는 경우가 있는데, 이때는 Pull requests 탭에 들어갑니다.

초록색 두 버튼 모두 가능한데, New Pull request의 경우 다른 과정이 추가돼서 이 부분을 설명드리고자 합니다.

New Pull request 버튼을 누르면 위와 같은 화면이 나오는데
이 화면이 안나온다면 이미지 상단의 회색부분에 있는
base: main < compare: wrapup
이 부분에서 compare: wrapup 부분을 클릭하여 push를 진행한 브랜치 이름으로 설정해주시면 됩니다.
그렇다면 위와 같은 이미지가 나오게 됩니다.
여기서 Create pull request를 누르고

이미지와 같은 화면이 나타나면 성공입니다.
눈치채신 분이 계실 것 같은데, Write 부분은 원래 빈 공간이지만
저의 경우 PR도 템플릿을 설정해 놓았기 때문에 자동으로 작성이 되어있습니다.
추가로 작성해보겠습니다.

내용 작성 후 우측에는 리뷰어, 담당자, 프로젝트를 설정해주고
Create pull request를 눌러줍니다.

위 이미지와 다르게 나오실 수 있습니다.
저의 경우 PR에 대한 승인(approve)이 2개 이상이 아니라면 merge가 불가능하게 설정을 해뒀습니다.
아래 링크를 참고하시면 쉽게 설정이 가능합니다!
https://mine-it-record.tistory.com/692
여기서 승인을 받았고 conflict가 없다면 아래와 같이 merge가 가능하게 됩니다.

리뷰 후 승인을 받고, Merge pull request를 누르면 아래와 같이 나타납니다.
(리뷰에 대한 내용은 후술하겠습니다)
굳굳, 와우 최고다 이건 이미지를 보여드리려고 대충 작성한 리뷰입니다 ㅠ

Confirm merge를 누르면 main에 wrapup에 작성한 코드가 병합이 됩니다.
위에서는 PR부터 병합하기까지 일련의 과정을 살펴봤습니다.
위에서 승인을 하는 과정에서 코드 리뷰 과정을 거치게 되는데 이 부분을 리뷰어 입장에서 살펴보도록 하겠습니다.
코드 리뷰의 뜻과 목적은 뱅크샐러드 블로그에 작성된 글을 인용하겠습니다.
코드 리뷰란 개발자가 작성한 코드를 다른 사람들이 검토하고 피드백을 전달하며, 다시 작성자가 반영하는 과정을 말합니다. 이 과정을 통해 서비스의 기술적인 구현 부분에 대해 공유·습득할 수 있으며, 일관된 아키텍처를 유지하고, 문제를 해결할 수 있는 새로운 관점을 발견할 수도 있습니다. 더 나아가, 잠재적인 장애·버그를 배포 전에 발견하여 전반적인 서비스 운영 비용을 절약할 수 있습니다.
출처: 뱅크샐러드 BanksaladX iOS Engineer 정진규님
https://blog.banksalad.com/tech/banksalad-code-review-culture/
이전에 진행했던 프로젝트의 일부분을 참고하여 작성해보겠습니다.
먼저 팀원이 작성한 PR을 보고 Files changed에 들어가서 변경된 부분을 확인합니다.

변경된 부분을 확인하고 코드에 대해 리뷰를 남기겠다면 + 아이콘에 마우스를 올리면 파란색으로 + 버튼이 생깁니다.

클릭하면 코멘트를 작성할 수 있고

코멘트 작성 후 Start a review를 클릭하면

Review changes가 Finish your review로 바뀌고 코멘트를 작성한 만큼 오른쪽에 숫자가 표시됩니다.
클릭합니다.

내용을 입력하고 comment(댓글), approve(승인), request changes(변경 요청)를 선택하고 Submit review를 클릭하시면 완료입니다.
approve(승인)을 선택했다면 초록색 버튼이 표시됩니다.

request changes(변경 요청)을 선택했다면 빨간색 버튼이 표시됩니다.

이렇게 PR, review ,merge의 과정을 거치면 코드 병합이 완료됩니다.
내용이 길어보이지만 몇 번 해보시면 익숙해져있는 모습을 발견하실겁니다 ㅎㅎ
이번 글은 여기서 마치겠습니다!
