Branch 보호
Last updated
Last updated
main 브랜치에는 직접적인 업로드를 하지 못해야 애플리케이션을 안전하게 개발할 수 있다. 따라서 Branch Protection Rule을 추가하여 브랜치 직접 업로드를 막고 PR 규칙을 설정할 수 있다.
Settings → Branches → Branch protection rules 우측의 Add rule 버튼을 누른다.
주요 옵션과 설명은 다음과 같다.
Branch name pattern - 브랜치의 이름 규칙을 지정한다.
Require a pull request before merging - 병합 전 PR(Pull Request)를 생성해야 하도록 설정한다.
Require approvals - 승인 리뷰를 지정한 개수만큼 받아야 한다.
Dismiss stale pull request approvals when new commits and pushed - 신규 커밋 발생 시 PR을 폐기한다.
Require review from Code Owners - Code Owner로 설정된 사용자의 리뷰를 받도록 설정한다.
Do not allow bypassing the above settings - 관리자와 권한있는 사용자에게도 위 규칙을 적용한다.
다음과 같이 main 브랜치를 설정한다.
관리자가 아닌 사용자로 브랜치를 생성하여 코드를 추가하고 Commit and Push를 수행하였으며, 저장소는 다음과 같은 상태이다.
testuser 브랜치를 main 브랜치에 병합하기 위하여 Pull Request를 생성하면 다음과 같이 리뷰가 필요하다는 메세지가 나온다.
본인을 제외한 다른 팀원이 approval review를 남기면 병합 조건이 충족된다.
승인 리뷰(approval review)를 받으면 정상적인 병합이 가능하다. 설정에 따라 승인리뷰의 개수를 조절할 수 있다.