(2023년 08월 27일 기준일자의 설정 방법입니다.)
브랜치 보호 규칙 (Branch Protection Rule) PR 생성 방법 - 깃허브 설정 방법
깃허브 사이트의 레포지토리 설정에서 브랜치 탭으로 이동합니다.
우상단의 "Add rule" 버튼을 클릭하고 보호 규칙 생성합니다.
=========================================================
브랜치 이름 패턴
Branch name pattern
작성하는데 있어서 브랜치 이름은 fnmatch 문법을 사용해야 합니다.
와일드 카드의 기능
특정한 단어가 들어간 모든 브랜치에 적용합니다.
ex) *브랜치명*
모든 브랜치에 적용합니다.
ex) *
특정 단어로 시작하는 모든 브랜치에 적용합니다.
ex) 브랜치명*
특정 단어로 끝나는 모든 브랜치에 적용합니다.
ex) *브랜치명
이 와일드 카드의 기능을 이용하여
여러 보호 규칙을 하나의 브랜치에 적용할 수가 있습니다.
특정 브랜치의 이름을 포함하고 있는 보호 규칙이 여러가지라면
*, ?, ] 등의 특수 문자가 포함된 경우에도 오래된 규칙이 우선순위를 가집니다.
기존에 존재하는 특정 보호 규칙에 예외 사항을 추가하고 싶다면, 우선순위가 높은 새로운 보호 규칙을 추가하면 됩니다.
=========================================================
브랜치 보호 규칙입니다.
병합 이전에 PR을 요구합니다. 각자 브랜치(보호되지 않은)에서 작업을 한 다음, PR을 통해 공동 브랜치로 코드를 반영합니다.
Require approvals
- 일정 이상의 인원이 승인해야 병합이 진행됩니다.
- 요구 멤버가 3이면 3명의 승인이 있어야 병합이 진행 됩니다.
Dismiss stale pull request approvals when new commits are pushed
- PR 승인 이후 새로운 코드가 추가될 때, 기존의 PR 승인을 무효화 하는지 여부를 정합니다.
- 아마도 기존의 PR 승인이 유지된다면, 이전 버전으로 병합되는 문제가 발생하는 듯 합니다.
Require review from Code Owners
- 코드 작성자에게도 리뷰를 받는지 여부를 정합니다.
Require approval of the most recent reviewable push
- 가장 최근에 승인한 검토자의 승인을 받는지 여부를 정합니다.
- PR 검토자가 변경사항을 몰래 바꾸거나 자신의 코드를 승인하지 못하도록 만들어 졌습니다.
- 이 항목이 체크될 경우 검토자가 코드를 수정할 때 다른 사용자를 찾지 않고서는 승인될 수 없습니다.
병합 이전에 상태 테스트 통과를 요구합니다. 반영되는 코드가 특정한 테스트를 통과하는지 자동으로 검증합니다.
Require branches to be up to date before merging
- 병합 이전에 항상 최신 브랜치 상태에서 상태 테스트가 진행되도록 합니다.
=========================================================
관리자를 포함한 모두를 대상으로 하는 규칙입니다.