Management/GIT

[GIT] Github에서 Pull Request 승인 절차 추가하여 코드 리뷰하기

썸머워즈 2023. 2. 16. 21:15
반응형

Set Github Pull Request Approve

깃허브에는 참여 인원이 승인(Approve)을 해야 Pull Request 머지를 할 수 있도록 설정할 수 있는 기능이 존재한다.

이 방법을 통해 "몇 명 이상의 코드 리뷰를 통과해야 한다"라는 내부적으로 룰을 만들어도 좋을 듯하다.

 

아직 본격적으로 코드 리뷰 문화가 잡히지 않은 곳에서 처음 시도하기에도 괜찮다고 생각이 든다.

우선 Approve설정을 하는 방법에 대해 알아보자.


깃허브 Approve 설정하기

자 우선 승인 절차를 만들어보자.

위 이미지처럼 프로젝트의 [Settings]를 먼저 들어가 주도록 하자.

그리고 좌측에 [Branches] 탭이 존재할 텐데 눌러주면 위 화면처럼 "Branch protection rules"라고 나올 것이다.

(자 여기서 만약 위와 동일한 화면이 안 나오고 뭐 업그레이드를 해야 한다 같은 화면이 나온다면 그것은 프로젝트가 private 한 프로젝트이기 때문이다. 그럴 경우 유료화를 통해서만 사용이 가능하고 그 외에는 public으로 프로젝트를 공개로 바꿔야 사용이 가능한 점 알고 넘어가자.)

 

Approve 설정은 바로 저 Branch protection rules에서 설정이 가능하다.

지금은 아무것도 없으니 바로 [Add branch protection rule] 버튼을 눌러주도록 하자.

자 그러면 이렇게 초기 화면이 나올 텐데 영어로 뭐라 블라블라 쓰여 있지만 다 읽어볼 필요는 없고,

몇 가지만 입력하고 선택해 주면 된다.

 

우선 Branch name pattern을 선택할 것인데, 말 그대로 "패턴"을 입력해 브랜치 명만 입력하는 것보다 좀 더 자유도가 높다.

 

여기서는 본인이 속한 브랜치 전략에 따라 달라질 수 있는데 우선 테스트용이기 때문에 Pull Request를 main 브랜치에만 날린다 생각하고 나는 main을 입력할 것이다.

그리고 아래에 보면 "Require a pull request before merging"이라는 체크박스가 하나 있는데 그걸 체크해 주도록 하자.

자 이제 다 왔다.

체크를 하는 순가 자동으로 하위 체크박스들이 나오면서 Require approvals가 체크되는 것을 볼 수 있다.

우리가 기다렸던 바로 Approve의 인원을 설정하는 곳이다.

 

일단 나 혼자 테스트를 해보는 것이기 때문에 기본값인 "1"을 선택해 주고, 여기서 1이 의미하는 것은 승인을 최소 한 명 이상은 해줘야 Pull Request 머지가 가능하다는 설정이다.

 

그리고 화면 하단에 [Create]버튼을 꼭 눌러서 생성을 해줘야한다.

자 이렇게 우리는 이제 main 브랜치에 merge 요청을 할 때마다 최소 1인 이상의 승인을 받아야 하는 룰이 생겼다.

실제로 어떻게 작동하는지 확인해 보자.


깃허브 Approve 활용하기

우선 간단하게 PR을 하나 생성해 주면 아래와 같은 장면이 출력될 것이다.

Merge pull request 버튼이 활성화가 안되며, 최소 하나 이상의 승인이 필요하다고 메시지를 출력해 준다.

자 이제 "다른 사용자"가 승인을 해줘야 한다. (안타깝게도 스스로 승인하는 기능은 존재하지 않는 듯하다.)

 

혼자서 테스트를 해볼 거면 계정을 하나 더 만들어서 테스트를 해보자.

자 갑자기 화면이 훅 바뀌었는데 별거 아니고 새로운 계정으로 들어와서 저 위에 보이는 [Files changed] 탭으로 이동해 주면

어떤 파일들이 어떻게 수정되었는지 확인할 수 있는 화면이 나올 것이다.

 

파일이 수정된 것을 확인하고 우측에 [Review changes]라는 초록색 버튼을 클릭해 주면 위 이미지와 동일한 화면이 나올 것이다. 

리뷰를 작성하는 곳인데 우리가 주목해야 할 부분은 3개의 라디오 버튼이다.

  • Comment : 승인과 무관하게 그냥 코멘트를 달고 싶을 때 선택한다.
  • Approve : 리뷰어가 승인을 하는 것으로, 머지해도 괜찮다 싶을 때 선택한다.
  • Request changes : 변경을 요청할 때 선택하는 것으로 승인을 거부하고 요구하는 꼭 완료해야 한다. (수정이나 의문이 드는 코드를 선택한 뒤 리뷰를 달면 Resolve conversation이라는 버튼이 활성화되는데 해결이 완료되어야만 한다.)

Approve로 할당 인원을 채웠어도 Request changes가 있다면 머지 승인을 할 수 없다.

자 바로 이런 식이다. 분명 위에서 approved these changes라며 승인을 했지만 변경 요청이 들어왔기 때문에 Merge pull request 버튼이 활성화되지 않는다.

 

Request changes로 단순히 멘트를 달 수 있지만 코드를 선택해서 달 수 있는데 아래와 같이 코드에 마우스를 올리면 생성되는 + 버튼을 눌러서 리뷰를 달고나서 Request changes를 선택하고 [Submit review]를 클릭하면 된다.

입력 후 [Start a review] 버튼을 클릭하면 아래 이미지처럼 Finish your review 가 활성화 된다.

그리고 Request changes를 선택하고 Submit review버튼을 누르면 위에서 보여준 것처럼 코드 변경 요청이 들어가는 것이다.

 

아 그리고 하나 알아둬야 할게 저 문제를 해결했다 해서 "승인"을 한건 아니기 때문에 꼭 다시 승인 처리를 해줘야 한다.

물론 리뷰어 인원이 충분하면 상관은 없다.

(혼자서 리뷰 승인하고 변경 요청하고 하니까 정신이 없다.)

문제도 해결하고 리뷰어가 승인도 했으니 이제야 [Merge pull request]가 활성화된 것을 볼 수 있다.


뭐 그렇게 어려운 설정도 아니고 사용하는 것도 한두 번 사용해 보면 쉽게 익힐 수 있는 것들이라 만약 코드리뷰를 가볍게라도 시작해보고 싶다면 도입해 보는 것도 나쁘지 않다고 생각된다. (본격적으로 github 코드리뷰 문화로 자리 잡는 것도 좋고) 


참고: https://velog.io/@lovelyeonee/Github-Branch-Rule-PR-Approve

 

Github - Branch Rule & PR Approve

Github의 Branch Rule과 이것을 적용한 Code Review & PR Approve 방법에 대해 알아보자.

velog.io

 

반응형