본문 바로가기
GIT

GIT - 브랜치 보호하기(Review Approving)

by 코드뭉치 2023. 4. 13.

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

댓글