분기 보호 규칙 정보
특정 분기, 모든 분기 또는 fnmatch
구문으로 지정한 이름 패턴과 일치하는 모든 분기에 대한 분기 보호 규칙을 리포지토리에 만들 수 있습니다. 예를 들어 release
단어를 포함하는 모든 분기를 보호하려면 *release*
에 대한 분기 규칙을 만들 수 있습니다.
리포지토리의 모든 현재 및 이후 분기에 대한 규칙은 *
와일드카드 구문을 사용하여 만들 수 있습니다. Because GitHub uses the File::FNM_PATHNAME
flag for the File.fnmatch
syntax, the *
wildcard does not match directory separators (/
). For example, qa/*
will match all branches beginning with qa/
and containing a single slash, but will not match qa/foo/bar
. You can include any number of slashes after qa
with qa/**/*
, which would match, for example, qa/foo/bar/foobar/hello-world
. You can also extend the qa
string with qa**/**/*
to make the rule more inclusive.
For more information about syntax options, see the fnmatch documentation.
동일한 분기에 영향을 주는 보호된 여러 개의 분기 규칙이 리포지토리에 있는 경우 특정 분기 이름을 포함하는 규칙의 우선 순위가 가장 높습니다. 동일한 특정 분기 이름을 참조하는 둘 이상의 보호된 분기 규칙이 있는 경우 먼저 만든 분기 규칙의 우선 순위가 더 높습니다.
특수 문자(예: *
, ?
또는 ]
)를 언급하는 보호 분기 규칙은 만든 순서대로 적용되므로 이러한 문자가 있는 이전 규칙의 우선 순위가 더 높습니다.
기존 분기 규칙에 대한 예외를 만들려면 특정 분기 이름에 대한 분기 규칙과 같이 우선 순위가 더 높은 새 분기 보호 규칙을 만들 수 있습니다.
사용 가능한 각 분기 보호 설정에 대한 자세한 내용은 "보호된 분기 정보"을 참조하세요.
참고: 한 번에 하나의 분기 보호 규칙만 적용할 수 있으므로 여러 버전의 규칙이 동일한 분기를 대상으로 할 때 어떤 규칙이 적용되는지 알기 어려울 수 있습니다. 또한 organization 여러 리포지토리에 적용되는 단일 규칙 집합을 만들 수 있습니다. 분기 보호 규칙의 대안에 대한 자세한 내용은 "About rulesets.
분기 보호 규칙 만들기
분기 규칙을 만드는 경우 지정한 분기가 아직 리포지토리에 있지 않아도 됩니다.
-
GitHub.com에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.
-
사이드바의 "코드 및 자동화" 섹션에서 분기를 클릭합니다.
-
"분기 보호 규칙" 옆에 있는 규칙 추가를 클릭합니다.
-
“분기 이름 패턴”에서 보호할 분기 이름 또는 패턴을 입력합니다.
-
필요에 따라 필요한 끌어오기 요청을 사용하도록 설정합니다.
참고: 새 커밋이 푸시될 때 부실 끌어오기 요청 승인 해제 및/또는 가장 최근에 검토할 수 있는 푸시의 승인 필요를 선택하는 경우 끌어오기 요청에 대한 병합 커밋을 수동으로 만들고 끌어오기 요청에 대해 GitHub에서 생성한 병합과 정확히 일치하지 않는 한 끌어오기 요청에 대한 병합 커밋을 수동으로 만들고 보호된 분기 직접 푸시하면 실패합니다.
또한 이러한 설정을 사용하면 검토가 제출된 후 병합 베이스에 새 변경 내용이 도입되면 승인 검토가 부실한 것으로 해제됩니다. 병합 기준은 토픽 분기와 베이스 분기 간의 마지막 공통 상위 항목인 커밋입니다. 병합 기준이 변경되면 누군가가 작업을 다시 승인할 때까지 끌어오기 요청을 병합할 수 없습니다.
-
"일치하는 분기 보호" 아래에서 병합하기 전에 끌어오기 요청 필요를 선택합니다.
-
필요에 따라 끌어오기 요청을 병합하기 전에 승인을 요구하려면 승인 필요를 선택합니다.
병합하기 전에 필요한 승인 수 드롭다운 메뉴를 선택한 다음 분기에 필요한 승인 검토 수를 클릭합니다.
-
필요에 따라 코드 수정 커밋이 분기로 푸시될 때 끌어오기 요청 승인 검토를 해제하려면 새 커밋이 푸시될 때 부실 끌어오기 요청 승인 해제를 선택합니다.
-
필요에 따라 끌어오기 요청이 지정된 소유자가 있는 코드에 영향을 줄 때 코드 소유자의 검토를 요구하려면 코드 소유자의 검토 필요를 선택합니다. 자세한 내용은 "코드 소유자 정보"을 참조하세요.
-
필요에 따라 특정 행위자가 필요할 때 끌어오기 요청을 만들지 않고 코드를 분기에 푸시할 수 있도록 하려면 지정된 행위자가 필요한 끌어오기 요청을 무시하도록 허용을 선택합니다. 그런 다음, 끌어오기 요청 만들기를 건너뛸 수 있는 행위자를 검색하여 선택합니다.
-
필요에 따라 리포지토리가 조직의 일부인 경우 끌어오기 요청 검토를 해제할 수 있는 사용자 제한을 선택합니다. 그런 다음 검색 필드에서 끌어오기 요청 검토를 해제할 수 있는 행위자를 검색하고 선택합니다. 자세한 내용은 "끌어오기 요청 검토 해제"을 참조하세요.
-
필요에 따라 병합하기 전에 마지막 사람이 아닌 다른 사용자가 분기에 푸시하여 끌어오기 요청을 승인하도록 요구하려면 가장 최근에 검토 가능한 푸시의 승인 필요를 선택합니다. 자세한 내용은 "보호된 분기 정보"을 참조하세요.
-
-
필요에 따라 필요한 상태 확인을 사용하도록 설정합니다. 자세한 내용은 "상태 검사 정보"을 참조하세요.
- 병합하기 전에 상태 확인 통과 필요를 선택합니다.
- 필요에 따라 끌어오기 요청이 보호된 분기에서 최신 코드를 사용하여 테스트되도록 하려면 병합하기 전에 분기를 최신 상태로 유지 필요를 선택합니다.
- 검색 필드에서 필요한 검사를 선택하여 상태 확인 검색합니다.
-
필요에 따라 병합하기 전에 대화 확인 필요를 선택합니다.
-
필요에 따라 서명된 커밋 필요를 선택합니다.
-
필요에 따라 선형 기록 필요를 선택합니다.
-
필요에 따라 병합 큐를 사용하여 끌어오기 요청을 병합하려면 병합 큐 필요를 선택합니다. 병합 큐에 대한 자세한 내용은 "병합 큐 관리"을 참조하세요.
팁: 끌어오기 요청 병합 큐 기능은 현재 퍼블릭 베타 버전이며 변경될 수 있습니다.
-
필요에 따라 병합하기 전에 변경 내용을 성공적으로 배포해야 하는 환경을 선택하려면 병합하기 전에 성공적인 배포 필요를 선택한 다음, 환경을 선택합니다.
-
필요에 따라 분기를 읽기 전용으로 만듭니다.
- 분기 잠금을 선택합니다.
- 필요에 따라 포크 동기화를 허용하려면 포크 동기화 허용을 선택합니다.
-
필요에 따라 위의 설정 무시를 허용하지 않음을 선택합니다.
-
필요에 따라 GitHub Free organization 소유한 퍼블릭 리포지토리의 및 GitHub Team 또는 GitHub Enterprise Cloud,를 사용하여 organization 소유한 모든 리포지토리에서 분기 제한을 사용하도록 설정합니다.
- 일치하는 분기에 푸시할 수 있는 사용자 제한을 선택합니다.
- 필요에 따라 일치하는 분기 만들기도 제한하려면 일치하는 분기를 만드는 푸시 제한을 선택합니다.
- 검색 필드에서 보호된 분기 푸시하거나 일치하는 분기를 만들 수 있는 권한이 있는 사람, 팀 또는 앱을 검색하여 선택합니다.
-
필요에 따라 "관리자를 포함한 모든 사용자에게 적용되는 규칙" 아래에서 강제 푸시 허용을 선택합니다.
그런 다음 분기에 강제 푸시 수 있는 사용자를 선택합니다.
-
관리자 권한이 있는 사용자를 포함하여 리포지토리에 대한 쓰기 권한이 있는 모든 사용자가 강제로 분기로 푸시할 수 있도록 허용하려면 모두를 선택합니다.
-
특정 행위자만 강제로 분기로 푸시할 수 있도록 허용하려면 강제로 푸시할 수 있는 사용자 지정을 선택합니다. 그런 다음, 해당 행위자를 검색하여 선택합니다.
강제 푸시에 대한 자세한 내용은 "보호된 분기 정보"을 참조하세요.
-
-
필요에 따라 삭제 허용을 선택합니다.
-
만들기를 클릭합니다.
분기 보호 규칙 편집
-
GitHub.com에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.
-
사이드바의 "코드 및 자동화" 섹션에서 분기를 클릭합니다.
-
편집하려는 분기 보호 규칙의 오른쪽에서 편집을 클릭합니다.
-
분기 보호 규칙을 원하는 대로 변경합니다.
-
변경 내용 저장을 클릭합니다.
분기 보호 규칙 삭제
-
GitHub.com에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.
-
사이드바의 "코드 및 자동화" 섹션에서 분기를 클릭합니다.
-
삭제하려는 분기 보호 규칙의 오른쪽에서 삭제를 클릭합니다.