브랜치 보호 규칙 설정하기 (PR RULE)

장현욱(Artlogy)·2022년 9월 17일
3

Git

목록 보기
1/1
post-thumbnail

브랜치 보호규칙

Repo에서 setting눌러 설정화면으로 간다.

왼쪽에 메뉴에 있는 "Branches"탭을 클릭한다.

add rule을 클릭한다.

규칙이 적용될 브랜치 패턴

보호규칙이 적용될 브랜치 이름 패턴을 입력하면된다.
패턴은 fnmatch를 따른다.
release라는 단어가 들어간 브랜치에 적용하고싶다면 release
release로 시작하는 브랜치에 적용하고싶다면 release
release로 시작하는 브랜치제외 적용하고싶다면 [!release
]

와일드카드 문자로 확장이 가능하기 때문에 여러 보호규칙이 하나의 브랜치에 적용 될 때도 있다.
이 경우 특정 브랜치의 이름이 포함 될 수록 우선순위가 높다. 만약 특정브랜치 이름이 포함된 규칙이 여러개라면 최신순으로 우선순위가 높다.
그래서 기존 보호규칙에서 예외를 두고싶다면 우선순위가 높은 생성규칙을 생성하면된다.

브랜치 보호규칙들

Require a pull request before merging

브랜치로 적용될 커밋들은 반드시 보호되지 않는 브랜치로 일단 커밋된 후 PR과정을 거쳐서 리뷰된 다음 머지되도록 하는 규칙이다.
예를들면 dev브랜치에 해당 보호규칙을 적용하면 각자 자기 브랜치(ex:feature)에서 커밋한 후 PR을 통해서 dev에 작업한 코드가 반영되도록 하는 것이다.

서브 옵션또한 살펴보겠다.

Require approvals

몇 명이 PR 승인을 해야 적용가능한 코드로 바뀌는지 설정하는 것

Dismiss stale pull request approvals when new commits are pushed

새로운 승인 코드가 추가로 들어올 경우, 기존 승인 리뷰 무효할것인지 여부

Require review from Code Owners

코드 소유자에게도 PR 승인을 받아야하는지 여부

Require status checks to pass before merging

체크시 해당 보호규칙이 적용된 브랜치에 머지가 되는 경우 반드시 status check를 통과해야 한다. 반영되려는 커밋이 특정 테스트를 통과하는지 자동으로 검증하게 설정이 가능하다.

Require branches to be up to date before merging

체크시 테스트가 항상 최신 브랜치 상태에서 테스트 되도록 한다.

Require conversation resolution before merging

코드가 머지되기 전에 모든 대화 내용을 Resolve 하도록 강제한다.

Require signed commits

작성자가 직접 서명한 커밋만 허용한다.

Require linear history

머지 커밋이 히스토리에 남지 않게한다.

Require deployments to succeed before merging

배포가 성공해야 머지가 가능하게 함

Do not allow bypassing the above settings

위 설정을 우회하는걸 금함 (철저히 룰을 지키게하는 것)

Allow force pushes

강제 푸시 허용

Allow deletions

삭제 허용

0개의 댓글