분기 보호 규칙 정보
특정 분기, 모든 분기 또는 fnmatch
구문으로 지정한 이름 패턴과 일치하는 모든 분기에 대한 분기 보호 규칙을 리포지토리에 만들 수 있습니다. 예를 들어 release
단어를 포함하는 모든 분기를 보호하려면 *release*
에 대한 분기 규칙을 만들 수 있습니다.
리포지토리의 모든 현재 및 이후 분기에 대한 규칙은 *
와일드카드 구문을 사용하여 만들 수 있습니다. GitHub에서 File::FNM_PATHNAME
플래그를 File.fnmatch
구문에 사용하므로 와일드카드는 디렉터리 구분 기호(/
)와 일치하지 않습니다. 예를 들어 qa/*
는 qa/
로 시작하고 단일 슬래시를 포함하는 모든 분기와 일치합니다. qa/**/*
를 사용하여 여러 슬래시를 포함할 수 있고, 규칙을 더 포괄적으로 만들기 위해 qa**/**/*
를 사용하여 qa
문자열을 확장할 수 있습니다. 분기 규칙의 구문 옵션에 대한 자세한 내용은 fnmatch 설명서를 참조하세요.
동일한 분기에 영향을 주는 보호된 여러 개의 분기 규칙이 리포지토리에 있는 경우 특정 분기 이름을 포함하는 규칙의 우선 순위가 가장 높습니다. 동일한 특정 분기 이름을 참조하는 둘 이상의 보호된 분기 규칙이 있는 경우 먼저 만든 분기 규칙의 우선 순위가 더 높습니다.
특수 문자(예: *
, ?
또는 ]
)를 언급하는 보호 분기 규칙은 만든 순서대로 적용되므로 이러한 문자가 있는 이전 규칙의 우선 순위가 더 높습니다.
기존 분기 규칙에 대한 예외를 만들려면 특정 분기 이름에 대한 분기 규칙과 같이 우선 순위가 더 높은 새 분기 보호 규칙을 만들 수 있습니다.
사용 가능한 각 분기 보호 설정에 대한 자세한 내용은 "보호된 분기 정보.
분기 보호 규칙 만들기
분기 규칙을 만드는 경우 지정한 분기가 아직 리포지토리에 있지 않아도 됩니다.
-
GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리 이름 아래에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.
-
사이드바의 “코드 및 자동화” 섹션에서 분기를 클릭합니다.
-
"분기 보호 규칙" 옆에 있는 규칙 추가를 클릭합니다.
-
“분기 이름 패턴”에서 보호할 분기 이름 또는 패턴을 입력합니다.
-
필요에 따라 필요한 끌어오기 요청을 사용하도록 설정합니다.
- "일치하는 분기 보호" 아래에서 병합하기 전에 끌어오기 요청 필요를 선택합니다.
- 필요에 따라 끌어오기 요청을 병합하기 전에 승인을 요구하려면 승인 필요를 선택하고, 병합하기 전에 필요한 승인 수 드롭다운 메뉴를 클릭한 다음, 분기에 필요한 검토 승인 수를 선택합니다.
- 필요에 따라 코드 수정 커밋이 분기로 푸시될 때 끌어오기 요청 승인 검토를 해제하려면 새 커밋이 푸시될 때 부실 끌어오기 요청 승인 해제를 선택합니다.
- 필요에 따라 끌어오기 요청이 지정된 소유자가 있는 코드에 영향을 줄 때 코드 소유자의 검토를 요구하려면 코드 소유자의 검토 필요를 선택합니다. 자세한 내용은 "관리자 또는 소유자 권한이 있는 사용자는 리포지토리에서 CODEOWNERS 파일을 설정할 수 있습니다."을 참조하세요.
- 필요에 따라 특정 행위자가 필요할 때 끌어오기 요청을 만들지 않고 코드를 분기에 푸시할 수 있도록 하려면 지정된 행위자가 필요한 끌어오기 요청을 무시하도록 허용을 선택합니다. 그런 다음, 끌어오기 요청 만들기를 건너뛸 수 있는 행위자를 검색하여 선택합니다. ! [특정 행위자가 끌어오기 요청 요구 사항을 무시하도록 허용 확인란] (/assets/images/help/repository/PR-bypass-requirements-with-apps.png)
- 필요에 따라 리포지토리가 조직의 일부인 경우 끌어오기 요청 검토를 해제할 수 있는 사용자 제한을 선택합니다. 그런 다음, 끌어오기 요청 검토를 해제할 수 있는 행위자를 검색하여 선택합니다. 자세한 내용은 "끌어오기 요청 검토 해제"을 참조하세요. ! [끌어오기 요청 검토를 해제할 수 있는 사용자 제한 확인란] (/assets/images/help/repository/PR-review-required-dismissals-with-apps.png) 이외의 다른 사용자의 검토 필요
- "일치하는 분기 보호" 아래에서 병합하기 전에 끌어오기 요청 필요를 선택합니다.
-
필요에 따라 필요한 상태 확인을 사용하도록 설정합니다. 자세한 내용은 "상태 검사 정보"을 참조하세요.
- 병합하기 전에 상태 확인 통과 필요를 선택합니다.
- 필요에 따라 끌어오기 요청이 보호된 분기에서 최신 코드를 사용하여 테스트되도록 하려면 병합하기 전에 분기를 최신 상태로 유지 필요를 선택합니다.
- 상태 확인을 검색하고, 필요한 확인을 선택합니다.
- 병합하기 전에 상태 확인 통과 필요를 선택합니다.
-
필요에 따라 병합하기 전에 대화 확인 필요를 선택합니다.
-
필요에 따라 서명된 커밋 필요를 선택합니다.
-
필요에 따라 선형 기록 필요를 선택합니다.
-
필요에 따라 병합하기 전에 변경 내용을 성공적으로 배포해야 하는 환경을 선택하려면 병합하기 전에 성공적인 배포 필요를 선택한 다음, 환경을 선택합니다.
필요 -
필요에 따라, 관리자에게 위의 규칙 적용.
-
필요에 따라 GitHub Free 조직이 소유한 퍼블릭 리포지토리의 를 사용하여 조직이 소유한 모든 리포지토리에서 분기 제한을 사용하도록 설정합니다.
- 일치하는 분기에 푸시할 수 있는 사용자 제한을 선택합니다.
- 필요에 따라 일치하는 분기 만들기도 제한하려면 일치하는 분기를 만드는 푸시 제한을 선택합니다.
- 보호된 분기로 푸시하거나 일치하는 분기를 만들 수 있는 권한이 있는 사용자, 팀 또는 앱을 검색하여 선택합니다.
- 일치하는 분기에 푸시할 수 있는 사용자 제한을 선택합니다.
-
필요에 따라 "관리자를 포함한 모든 사용자에게 적용되는 규칙" 아래에서 강제 푸시 허용을 선택합니다.
그런 다음 분기로 강제 푸시할 수 있는 사용자를 선택합니다.-
관리자 권한이 있는 사용자를 포함하여 리포지토리에 대한 쓰기 권한이 있는 모든 사용자가 강제로 분기로 푸시할 수 있도록 허용하려면 모두를 선택합니다.
-
특정 행위자만 강제로 분기로 푸시할 수 있도록 허용하려면 강제로 푸시할 수 있는 사용자 지정을 선택합니다. 그런 다음, 해당 행위자를 검색하여 선택합니다. ! [강제 푸시할 수 있는 사용자를 지정하는 옵션의 스크린샷] (/assets/images/help/repository/allow-force-pushes-specify-who-with-apps.png)
강제 푸시에 대한 자세한 내용은 "보호된 분기 정보"을 참조하세요.
-
-
필요에 따라 삭제 허용을 선택합니다.
-
만들기를 클릭합니다.
분기 보호 규칙 편집
-
GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리 이름 아래에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.
-
사이드바의 “코드 및 자동화” 섹션에서 분기를 클릭합니다.
-
편집하려는 분기 보호 규칙의 오른쪽에서 편집을 클릭합니다.
-
분기 보호 규칙을 원하는 대로 변경합니다.
-
변경 내용 저장을 클릭합니다.
분기 보호 규칙 삭제
-
GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리 이름 아래에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.
-
사이드바의 “코드 및 자동화” 섹션에서 분기를 클릭합니다.
-
삭제하려는 분기 보호 규칙의 오른쪽에서 삭제를 클릭합니다.