저번 시간에는 feature branch를 하나 만들어서 로컬에 작업하는 방법을 다루었습니다.
이번에는 작업이 끝나 feature 를 원격 feature 브랜치에 push 후 , Merge request를 요청하여 코드리뷰를 하는 과정을 다루겠습니다.
위 단계를 순차적으로 실습해보겠습니다.
우선 feature에서 작업을 하나 해줍니다. 아무 파일이나 만들어서 TEST를 해봅니다. 저는 feature폴더에 장택진-테스트라고 작성했습니다.
로컬에서 작업이 끝난 파일은 fork에서 다음과 같이 Unstaged 에 변경된 파일로 나타나게 됩니다.
index.html파일에서 글을 약간 수정했습니다.
해당 파일을 더블 클릭 또는 파일이 여러개일 경우, 전체 선택하고 + 버튼(변경 내용 스테이징)을 눌러줍니다.
소스제어 밑에 커밋 메세지를 입력해줍니다.
커밋 메세지를 최대한 간단 명료하지만 명료함에 어떠한 작업을 했는지 알 수 있어야 합니다.
새롭게 생성된 Commit을 원격 feature/장택진-테스트 브랜치로 push를 합니다. 여기서 그림을 다시 한번 보자면
우리가 Local Main에서 Feature 브랜치를 생성하고 작업 내용을 Commit 했습니다. 해당 작업내용을 원격에 있는 test feature 브랜치로 push 를 해주었습니다.
해당 깃의 원격 레포지토리에 들어가보면
feature/장택진-테스트 had recent pushes less than a minute ago
라는 문구를 발견할 수 있습니다. 최근에 push 된 feature 브랜치를 Merge request 하겠는가라고 물어보는것이고 push한 시간이 조금 오래되면 해당 문구는 안보일 수 있습니다. ( 만약 안보인다면 Pull request 탭에 들어가서 New pull request를 눌러줍니다 )
Compare & pull request를 눌러줍니다.
merge request의 제목 , 상세한 내용, Reviewers (누가 리뷰를 할지) , Assignees(이슈 할당자들), Labels 등을 정할 수 있습니다.
해당 리퀘스트가 시작되면서 Code review를 할수 있습니다. 아직 Merge가 아닌 Merge request (병합 요청)이기 때문이죠. 해당 병합요청이 주어졌다면 팀원들이 코드 리뷰를 시작합니다. 해당된 코드 리뷰가 끝난 시점에서 프로젝트 담당자가 Merge Pull request 버튼을 눌러 Merge하게 됩니다.
File changed 탭에 들어가면 변경된 파일과 무엇이 변경되었는지 볼 수 있습니다. '+'버튼을 눌러 Code review를 해봅시다.
위와 같이 메세지를 써주신 다음, Start a review를 눌러 리뷰를 시작합니다.( Add Single comment는 단순히 댓글을 다는 기능입니다.)
Start a review를 누른 후 왼쪽 상단 Finish your review를 눌러줍니다. 정중히 부탁한다는 메세지도 있으면 좋겠죠?
지금은 제가 혼자 했지만 해당 파일을 수정한 사람이 '수정해서 커밋하였다'라는 메세지가 보이면 리뷰를 제시한 사람이 Resolve convesation 버튼을 통해 해당 review를 끝냅니다. 그리고 더이상 리뷰할 건이 없다면 아래에 '이견없다'라는등의 메세지를 남겨줍니다. ( 이는 팀마다 회사마다 상이할 수 있습니다. )
과반수 혹은 책임자가 이런 의견을 달아주시면 코드리뷰는 끝이 나고 책임자에 의해 Merge가 됩니다.
해당 브랜치가 Merge가 되었음을 확인하고 Main(=Master)브랜치에 새로운 변경사항들을 Pull 받은 뒤 다시 feature 브랜치를 생성하여 작업하는 사이클을 이어나가도록합니다.
이상 Merge request 및 Commit & Push + Code review에 대한 정리였습니다.