기록과 정리

Git - Commit & Push와 Merge Request 본문

IT/버전관리

Git - Commit & Push와 Merge Request

zepetto 2021. 2. 8. 11:11

저번 시간에는 feature branch를 하나 만들어서 로컬에 작업하는 방법을 다루었습니다. 

이번에는 작업이 끝나 feature 를 원격 feature 브랜치에 push 후 , Merge request를 요청하여 코드리뷰를 하는 과정을 다루겠습니다. 

오늘 목표

위 단계를 하나 하나하나 실습해봅시다.

 

작업 파일 생성

 

우선 feature에서 작업을 하나 해줍니다. 아무 파일이나 만들어서 'TEST'라고 써봅시다.

 

Commit & Push

로컬에서 작업이 끝난 파일은 fork에서 다음과 같이 Unstaged 에 변경된 파일로 나타나게 됩니다.

pom.xml 파일이 변경 되었습니다. ( 물론 제가 띄어쓰기 하나를 추가했지만요 )

 

해당 파일을 더블 클릭 또는 파일이 여러개일 경우, 전체 선택하고 stage를 눌러줍니다. 

파일들이 아래로 이동하였습니다.

 우측 하단에 'Enter commit subject'와 'Commit Description'보입니다. 커밋 제목과 상세내용인데요.

커밋 메세지는 최대한 간단 명료하지만 명료함에 어떤한 작업을 했는지 알수 있어야합니다.

commit을 눌러주고 왼쪽 사이드바에 All Commits을 더블클릭해주면 새로운 Commit 이 보이게 됩니다.

새롭게 생성된 Commit을 원격 test-branch feature 브랜치로 push를 합니다. 자 여기서 다시 아래 그림을 보시면

우리가 Local Main에서 Feature 브랜치를 생성하고 작업 내용을 Commit 했습니다. 해당 작업내용을 원격에 있는 test feature 브랜치로 push 를 해주려 합니다. 

 

좌 상단에 보이는 Push를 누르면 

push 를 어디로 할지 정할 수 있습니다. 우리는 orgin/feature/test-branch로 해보도록합니다. push 버튼을 누르면 push가 됩니다. 

Merge Request

 

해당 깃의 원격 레포지토리에 들어가보면 

 

feature/test-branch 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하게 됩니다.  

 

Code Review

File changed 탭에 들어가면 변경된 파일과 무엇이 변경되었는지 볼 수 있습니다. '+'버튼을 눌러 Code review를 해봅시다. 

 

위와 같이 메세지를 써주신 다음, Start a review를 눌러 리뷰를 시작합니다.( Add Single comment는 단순히 댓글을 다는 기능입니다.)

 

Start a review를 누른 후 왼쪽 상단 Finish your review를 눌러줍니다. 정중히 부탁한다는 메세지도 있으면 좋겠죠?

지금은 제가 혼자 했지만 해당 파일을 수정한 사람이 '수정해서 커밋하였다'라는 메세지가 보이면 리뷰를 제시한 사람이 Resolve convesation 버튼을 통해 해당 review를 끝냅니다. 그리고 더이상 리뷰할 건이 없다면 아래에 '이견없다'라는등의 메세지를 남겨줍니다. ( 이는 팀마다 회사마다 상이할 수 있습니다. )

 

과반수 혹은 전부 이런 의견을 달아주시면 코드리뷰는 끝이 났고 책임자에 의해 Merge가 됩니다. 

다시 포크로 돌아와서 확인해볼까요?

 

해당 브랜치가 Mege되었음을 확인할 수 있습니다. Main에는 새로운 변경사항들이 있으니 Pull을 받고 

다시 feature 브랜치를 생성하여 작업하는 사이클을 이어나가도록합니다. 

 

이상 Merge request 및 Commit & Push + Code review에 대한 정리였습니다.