Repository - Settings - Branches - Add branch protection rule
8가지의 제한 조건을 설정할 수 있다. (중복 선택 가능)
각각 옵션의 설명
Require a pull request before merging | merge 전에 pull request를 강제하는 옵션 대상 브랜치에 대한 모든 변경 사항이 일반적인 push가 아니라 PR을 통해 이루어져야함. 세부적으로 코드 리뷰가 필요한지, 몇명의 리뷰가 있어야 하는지 등을 설정 가능 |
Require status checks to pass before merging | merge 전에 상태 확인 필요. GitHub Action을 통해 가능하다. GitHub Actions |
Require conversation resolution before merging | merge 전에 PR에 남겨진 코멘트를 모두 확인해야 하는 옵션. 남겨진 모든 코멘트에 답을 달아주어야 Merge가 가능하다. |
Require signed commits | 서명된 커밋만 푸시 가능. 믿을 수 있는 출처에서 생산된 커밋들(verify 마크가 찍혀있다.)만 푸시할 수 있다. 서명된 커밋에 대한 정보 |
Require linear history | 선형적 커밋 히스토리 필수. 일반적인 merge를 막고, squash나 rebase를 통한 머지만 허용. 브랜치를 단순한 모양으로 관리할 때 유용하다. |
Require deployments to succeed before merging | merge전 반드시 배포에 성공해야 머지가 가능. |
Lock branch | 아무도 푸시할 수 없고, read-only |
Do not allow bypassing the above settings | 관리자 권한(우회가능한 권한)을 가진 유저들도 룰을 지키지 않으면 merge할 수 없도록 막는 옵션 |
첫번째 옵션인 Require a pull request before merging - Require approvals
에서 필요한 Approval의 수를 결정할 수 있다. 즉, 해당 인원 수 만큼의 승인이 없으면 PR을 받을 수 없다.
Require approvals | 특정 수의 코드 검토 및 승인이 필요 |
Dismiss stale pull request approvals when new commits are pushed | 새로운 커밋이 푸시되면 이전에 승인된 코드 검토 만료 |
Require review form Code Owners | 코드 소유자가 필수적으로 검토해야 승인 가능 |
Require approval of the most recent reviewable push | 가장 최근 검토 가능한 Push의 승인 필수 |
Branch name pattern
여기서 규칙 적용 범위를 설정할 수 있다.
ex)main > main 브랜치에만 적용
'GIT' 카테고리의 다른 글
git rebase -i로 이전 커밋들 수정하기 (0) | 2023.05.30 |
---|
댓글