본문 바로가기
카테고리 없음

개발일지 - 2일차: GitHub 오류 해결

by JHBang 2024. 2. 27.

프로젝트 2일차를 맞이했다. 

 

오늘은 어제 하던 작업에 이어 ERD, API명세서를 검수하고 수정하는 작업을 가졌다.

 

ERD는 ERDCloud에서 작성했으며 API명세서는 노션에 정리해 두었다.

 

그리고 부팀장님이 만든 Git organization에 기본적인 패키지 구조를 만들고 이슈와 PR 템플릿을 생성했다.

 

 

오류 발생

하지만 여기서 문제가 발생했다.

 

이슈 템플릿은 적절하게 작동하는 걸 확인한 후 PR 템플릿 파일을 생성했다. 이 후 설정한 브랜치 정책을 확인할 겸 템플릿 파일을 머지하기 위한 새 PR을 생성했다.

 

우리 팀이 정한 브랜치 정책은 3명 모두 코드를 확인하고 승인해야 병합이 가능하도록 만들었다. 

 

즉 3명 모두 코드리뷰를 끝내면 병합이 가능해야 했는데 어째선지 병합 버튼이 활성화되지 않았다.

 

위 사진을 보면 팀원 3명이 전부 리뷰를 완료한 상태다.

 

하지만 병합 버튼은 여전히 활성화 되어있지 않았다.

 

 

해결하기 위한 시도

이 오류를 해결하기 위해 여러 방법을 시도해 봤다.

 

1. 최소 리뷰 인원수 줄여보기

인원수가 달라지면 다른 변화가 있지 않을까 해서 해본 시도이다.

위 이미지에서는 이미 최소 인원이 1명으로 되어있지만 보다시피 효과가 없었다.

 

2. Branch name pattern 변경

브랜치 정책을 설정할 때 적용 브랜치를 정하는 칸이 있다. 기존엔 dev*로 dev 아래 모든 브랜치에 적용시킬 생각이였다.

저 PR템플릿을 커밋할 때 Git에서 자동 생성해 준 브랜치를 사용했는데, 이 브랜치가 저 적용범위 안에 들어가지 않아서 생긴 일이 아닐까라는 판단을 했다. 따라서 **/**로 바꿔 모든 브랜치가 적용되도록 설정했다. 

 

하지만 결과적으로 이 또한 오답이였다. 디폴트 브랜치가 dev로 되어있기 때문에 git에서 자동 생성한 브랜치는 dev 하위에 생성된다. 따라서 dev* 로도 PR이 정책 적용범위에 들어가게 된다.

 

해결한 방법

해결을 위해 구글링을 해 보던 중 stack overflow의 관련 질문에서 한 문장을 발견했다.

 

you need to have at least one review from a reviewer who has write access to the repository.

 

저장소에 대한 쓰기 액세스 권한이 있는 검토자로부터 최소 하나의 검토가 필요하다는 말이였다.

 

설마 권한 문제로 발생한 오류인가? 라는 생각이 들어 팀장님께 origanization의 멤버들의 기본 권한을 확인해 달라고 요청했다. 아니나 다를까, 권한이 read로 되어 있었다.

 

하긴 생각해보면 그저 읽기 권한만 가진 멤버가 코드를 리뷰하는 것은 이상하다. 결국 오류는 권한을 write로 설정한 후 해결되었다.