브랜치 보호 규칙에 대한 설명
특정 분기, 모든 분기 또는 fnmatch 구문으로 지정한 이름 패턴과 일치하는 모든 분기에 대한 분기 보호 규칙을 리포지토리에 만들 수 있습니다. 예를 들어 release 단어를 포함하는 모든 분기를 보호하려면 *release*에 대한 분기 규칙을 만들 수 있습니다.
리포지토리의 모든 현재 및 이후 분기에 대한 규칙은 * 와일드카드 구문을 사용하여 만들 수 있습니다. GitHub에서 File::FNM_PATHNAME 플래그를 File.fnmatch 구문에 사용하므로 *와일드카드는 디렉터리 구분 기호(/)와 일치하지 않습니다. 예를 들어 qa/*은 qa/로 시작하고 단일 슬래시를 포함하는 모든 분기와 일치하지만 qa/foo/bar과 일치하지 않습니다.. 다음과 같이 qa과 일치하는 qa/**/*는 슬래시를 원하는 대로, 예를 들어 qa/foo/bar/foobar/hello-world 포함할 수 있습니다. qa 문자열을 qa**/**/*와 확장하여 규칙을 더 포괄적으로 만들 수도 있습니다.
구문 옵션에 대한 자세한 내용은 fnmatch 문서를 참조하세요.
동일한 분기에 영향을 주는 보호된 여러 개의 분기 규칙이 리포지토리에 있는 경우 특정 분기 이름을 포함하는 규칙의 우선 순위가 가장 높습니다. 동일한 특정 분기 이름을 참조하는 둘 이상의 보호된 분기 규칙이 있는 경우 먼저 만든 분기 규칙의 우선 순위가 더 높습니다.
특수 문자(예: *, ? 또는 ])를 언급하는 보호 분기 규칙은 만든 순서대로 적용되므로 이러한 문자가 있는 이전 규칙의 우선 순위가 더 높습니다.
기존 분기 규칙에 대한 예외를 만들려면 특정 분기 이름에 대한 분기 규칙과 같이 우선 순위가 더 높은 새 분기 보호 규칙을 만들 수 있습니다.
사용 가능한 각 분기 보호 설정에 대한 자세한 내용은 보호된 분기 정보을(를) 참조하세요.
참고
한 번에 하나의 분기 보호 규칙만 적용할 수 있습니다. 즉, 여러 버전의 규칙이 동일한 분기를 대상으로 할 경우 어느 규칙이 적용되는지 알기 어려울 수 있습니다. 또한, 조직의 여러 리포지토리에 적용되는 단일 규칙 집합을 만들 수 있습니다. 분기 보호 규칙의 대안에 대한 자세한 내용은 규칙 세트에 대한 정보을(를) 참조하세요.
브랜치 보호 규칙 만들기
분기 규칙을 만드는 경우 지정한 분기가 아직 리포지토리에 있지 않아도 됩니다.
참고
리포지토리가 조직에 속한 경우에만 바이패스 목록에 행위자를 추가할 수 있습니다.
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

-
사이드바의 "Code and automation" 섹션에서 Branches를 클릭합니다.
-
"분기 보호 규칙" 옆에 있는 규칙 추가를 클릭합니다 .
-
“분기 이름 패턴”에서 보호할 분기 이름 또는 패턴을 입력합니다.
-
필요에 따라 필요한 끌어오기 요청을 사용하도록 설정합니다.
참고
새 커밋이 푸시될 때 부실 끌어오기 요청 승인 해제 및/또는 최신 검토 가능한 푸시의 승인 필요를 선택하는 경우, 끌어오기 요청에 대한 병합 커밋을 수동으로 만들어 보호된 분기에 직접 푸시하면 병합 내용이 끌어오기 요청의 GitHub에서 생성된 병합과 정확히 일치하지 않는 한 실패합니다.
또한 이러한 설정을 사용하면 검토가 제출된 후 병합 기반에 새 변경 내용이 도입되면 승인 검토가 부실로 기각됩니다. 병합 기반은 토픽 분기와 기본 분기 간의 마지막 공통 상위 항목인 커밋입니다. 병합 기반이 변경되면 다른 사용자가 작업을 다시 승인할 때까지 끌어오기 요청을 병합할 수 없습니다.
-
"일치하는 분기 보호" 아래에서 병합하기 전에 끌어오기 요청 필요를 선택합니다.
-
필요에 따라, 끌어오기 요청을 병합하기 전에 먼저 승인을 요구하려면 승인 필요를 선택합니다.
**병합하기 전에 필요한 승인 수** 드롭다운 메뉴를 선택한 다음, 브랜치에 필요한 승인 리뷰 수를 클릭합니다. -
필요에 따라 코드 수정 커밋이 분기로 푸시될 때 끌어오기 요청 승인 검토를 해제하려면 새 커밋이 푸시될 때 부실 끌어오기 요청 승인 해제를 선택합니다.
-
필요에 따라 끌어오기 요청이 지정된 소유자가 있는 코드에 영향을 줄 때 코드 소유자의 검토를 요구하려면 코드 소유자의 검토 필요를 선택합니다. 코드 소유자가 여러 명인 경우 코드 소유자 중 누구라도 승인하면 이 요구 사항을 충족할 수 있습니다. 자세한 내용은 코드 소유자 정보을(를) 참조하세요.
-
필요에 따라 특정 행위자가 필요할 때 끌어오기 요청을 만들지 않고 코드를 분기에 푸시할 수 있도록 하려면 지정된 행위자가 필요한 끌어오기 요청을 무시하도록 허용을 선택합니다. 그런 다음, 풀 리퀘스트 생성을 건너뛸 수 있는 사용자를 검색하고 선택합니다.
-
필요에 따라 리포지토리가 조직의 일부인 경우 끌어오기 요청 검토를 해제할 수 있는 사용자 제한을 선택합니다. 그 후 검색창에서 풀 리퀘스트 검토 권한을 해제할 대상을 찾아 선택해 주세요. 자세한 내용은 끌어오기 요청 검토 무시을(를) 참조하세요.
-
선택 사항으로, 마지막으로 브랜치에 푸시한 사람이 아닌 다른 사람이 풀 리퀘스트 병합 전에 승인하도록 요구하려면 최근 검토 가능한 푸시에 대한 승인 요구를 선택하세요. 자세한 내용은 보호된 분기 정보을(를) 참조하세요.
-
-
필요에 따라 필요한 상태 확인을 사용하도록 설정합니다. 자세한 내용은 상태 검사 정보을(를) 참조하세요.
- 병합하기 전에 상태 확인 통과 필요를 선택합니다.
- 필요에 따라 끌어오기 요청이 보호된 분기에서 최신 코드를 사용하여 테스트되도록 하려면 병합하기 전에 분기를 최신 상태로 유지 필요를 선택합니다.
- 검색 필드에서 상태 확인을 검색하고, 필요한 확인을 선택합니다.
-
필요에 따라 병합하기 전에 대화 확인 필요를 선택합니다.
-
필요에 따라 서명된 커밋 필요를 선택합니다.
-
필요에 따라 선형 기록 필요를 선택합니다.
-
필요에 따라 병합 큐를 사용하여 끌어오기 요청을 병합하려면 병합 큐 필요를 선택합니다. 병합 큐에 대한 자세한 내용은 병합 큐 관리을(를) 참조하세요.
-
필요에 따라 병합하기 전에 변경 내용을 성공적으로 배포해야 하는 환경을 선택하려면 병합하기 전에 성공적인 배포 필요를 선택한 다음, 환경을 선택합니다.
-
필요에 따라 분기를 읽기 전용으로 만듭니다.
- 분기 잠금을 선택합니다.
- 필요에 따라 포크 동기화를 허용하려면 포크 동기화 허용을 선택합니다.
-
필요에 따라 위 설정 무시 허용 안 함을 선택합니다.
-
필요에 따라 GitHub Free 조직이 소유한 퍼블릭 리포지토리와 GitHub Team 또는 GitHub Enterprise Cloud로 관리되는 모든 리포지토리에서 분기 제한을 활성화할 수 있습니다.
- 일치하는 분기에 푸시할 수 있는 사용자를 제한합니다로 지정합니다.
- 필요에 따라 일치하는 분기 만들기도 제한하려면 일치하는 분기를 만드는 푸시 제한을 선택합니다.
- 검색 필드에서, 보호된 분기로 푸시하거나 일치하는 분기를 만들 수 있는 권한이 있는 사용자, 팀 또는 앱을 검색하여 선택합니다.
-
필요에 따라 "관리자를 포함한 모든 사용자에게 적용되는 규칙" 아래에서 강제 푸시 허용을 선택합니다.
그다음 해당 브랜치에 강제 푸시 권한을 부여할 사용자를 지정합니다.
- 관리자 권한이 있는 사용자를 포함하여 리포지토리에 대한 쓰기 권한이 있는 모든 사용자가 강제로 분기로 푸시할 수 있도록 허용하려면 모두를 선택합니다.
- 특정 행위자만 강제로 분기로 푸시할 수 있도록 허용하려면 강제로 푸시할 수 있는 사용자 지정을 선택합니다. 그런 다음, 해당 행위자를 검색하여 선택합니다.
강제 푸시에 대한 자세한 내용은 보호된 분기 정보을(를) 참조하세요.
-
필요에 따라 삭제 허용을 선택합니다.
-
**만들기**를 클릭합니다.
브랜치 보호 규칙 편집
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

-
사이드바의 "Code and automation" 섹션에서 Branches를 클릭합니다.
-
편집하려는 분기 보호 규칙의 오른쪽에서 편집을 클릭합니다.
-
원하는 대로 분기 보호 규칙을 변경하세요.
-
**변경 내용 저장**을 클릭합니다.
브랜치 보호 규칙 삭제
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

-
사이드바의 "Code and automation" 섹션에서 Branches를 클릭합니다.
-
삭제하려는 분기 보호 규칙의 오른쪽에서 삭제를 클릭합니다.