Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

분기 보호 규칙 관리

승인 검토를 요구하거나 보호된 분기에 병합된 모든 끌어오기 요청의 상태 검사를 전달하는 등 하나 이상의 분기에 특정 워크플로를 적용하는 분기 보호 규칙을 만들 수 있습니다.

이 기능을 사용할 수 있는 사용자

People with admin permissions to a repository can manage branch protection rules.

보호된 분기는 GitHub Free 및 조직에 대한 GitHub Free가 있는 퍼블릭 리포지토리와 GitHub Pro, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server가 있는 퍼블릭 및 프라이빗 리포지토리에서 사용할 수 있습니다.

분기 보호 규칙 정보

특정 분기, 모든 분기 또는 fnmatch 구문으로 지정한 이름 패턴과 일치하는 모든 분기에 대한 분기 보호 규칙을 리포지토리에 만들 수 있습니다. 예를 들어 release 단어를 포함하는 모든 분기를 보호하려면 *release*에 대한 분기 규칙을 만들 수 있습니다.

리포지토리의 모든 현재 및 이후 분기에 대한 규칙은 * 와일드카드 구문을 사용하여 만들 수 있습니다. GitHub에서 File::FNM_PATHNAME 플래그를 File.fnmatch 구문에 사용하므로 와일드카드는 디렉터리 구분 기호(/)와 일치하지 않습니다. 예를 들어 qa/*qa/로 시작하고 단일 슬래시를 포함하는 모든 분기와 일치합니다. qa/**/*를 사용하여 여러 슬래시를 포함할 수 있고, 규칙을 더 포괄적으로 만들기 위해 qa**/**/*를 사용하여 qa 문자열을 확장할 수 있습니다. 분기 규칙의 구문 옵션에 대한 자세한 내용은 fnmatch 설명서를 참조하세요.

동일한 분기에 영향을 주는 보호된 여러 개의 분기 규칙이 리포지토리에 있는 경우 특정 분기 이름을 포함하는 규칙의 우선 순위가 가장 높습니다. 동일한 특정 분기 이름을 참조하는 둘 이상의 보호된 분기 규칙이 있는 경우 먼저 만든 분기 규칙의 우선 순위가 더 높습니다.

특수 문자(예: *, ? 또는 ])를 언급하는 보호 분기 규칙은 만든 순서대로 적용되므로 이러한 문자가 있는 이전 규칙의 우선 순위가 더 높습니다.

기존 분기 규칙에 대한 예외를 만들려면 특정 분기 이름에 대한 분기 규칙과 같이 우선 순위가 더 높은 새 분기 보호 규칙을 만들 수 있습니다.

사용 가능한 각 분기 보호 설정에 대한 자세한 내용은 "보호된 분기 정보.

분기 보호 규칙 만들기

분기 규칙을 만드는 경우 지정한 분기가 아직 리포지토리에 있지 않아도 됩니다.

  1. GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리 이름 아래에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭은 진한 주황색 윤곽선으로 강조 표시됩니다.

  2. 사이드바의 “코드 및 자동화” 섹션에서 분기를 클릭합니다.

  3. "분기 보호 규칙" 옆에 있는 규칙 추가를 클릭합니다.

  4. “분기 이름 패턴”에서 보호할 분기 이름 또는 패턴을 입력합니다.

  5. 필요에 따라 필요한 끌어오기 요청을 사용하도록 설정합니다.

    • "일치하는 분기 보호" 아래에서 병합하기 전에 끌어오기 요청 필요를 선택합니다. 끌어오기 요청 검토 제한 확인란
    • 필요에 따라 끌어오기 요청을 병합하기 전에 승인을 요구하려면 승인 필요를 선택하고, 병합하기 전에 필요한 승인 수 드롭다운 메뉴를 클릭한 다음, 분기에 필요한 검토 승인 수를 선택합니다. 필요한 검토 승인 수를 선택하는 드롭다운 메뉴
    • 필요에 따라 코드 수정 커밋이 분기로 푸시될 때 끌어오기 요청 승인 검토를 해제하려면 새 커밋이 푸시될 때 부실 끌어오기 요청 승인 해제를 선택합니다. 새 커밋이 푸시될 때 부실 끌어오기 요청 승인 해제 확인란
    • 필요에 따라 끌어오기 요청이 지정된 소유자가 있는 코드에 영향을 줄 때 코드 소유자의 검토를 요구하려면 코드 소유자의 검토 필요를 선택합니다. 자세한 내용은 "관리자 또는 소유자 권한이 있는 사용자는 리포지토리에서 CODEOWNERS 파일을 설정할 수 있습니다."을 참조하세요. 코드 소유자의 검토 필요
    • 필요에 따라 특정 행위자가 필요할 때 끌어오기 요청을 만들지 않고 코드를 분기에 푸시할 수 있도록 하려면 지정된 행위자가 필요한 끌어오기 요청을 무시하도록 허용을 선택합니다. 그런 다음, 끌어오기 요청 만들기를 건너뛸 수 있는 행위자를 검색하여 선택합니다. ! [특정 행위자가 끌어오기 요청 요구 사항을 무시하도록 허용 확인란] (/assets/images/help/repository/PR-bypass-requirements-with-apps.png)
    • 필요에 따라 리포지토리가 조직의 일부인 경우 끌어오기 요청 검토를 해제할 수 있는 사용자 제한을 선택합니다. 그런 다음, 끌어오기 요청 검토를 해제할 수 있는 행위자를 검색하여 선택합니다. 자세한 내용은 "끌어오기 요청 검토 해제"을 참조하세요. ! [끌어오기 요청 검토를 해제할 수 있는 사용자 제한 확인란] (/assets/images/help/repository/PR-review-required-dismissals-with-apps.png) 이외의 다른 사용자의 검토 필요
  6. 필요에 따라 필요한 상태 확인을 사용하도록 설정합니다. 자세한 내용은 "상태 검사 정보"을 참조하세요.

    • 병합하기 전에 상태 확인 통과 필요를 선택합니다. 필요한 상태 확인 옵션
    • 필요에 따라 끌어오기 요청이 보호된 분기에서 최신 코드를 사용하여 테스트되도록 하려면 병합하기 전에 분기를 최신 상태로 유지 필요를 선택합니다. 느슨하거나 엄격한 필요한 상태 확인란
    • 상태 확인을 검색하고, 필요한 확인을 선택합니다. 인터페이스에서 필요한 확인 목록을 사용하여 사용 가능한 상태 확인 검색
  7. 필요에 따라 병합하기 전에 대화 확인 필요를 선택합니다. 병합하기 전에 대화 확인 필요 옵션

  8. 필요에 따라 서명된 커밋 필요를 선택합니다. 서명된 커밋 필요 옵션

  9. 필요에 따라 선형 기록 필요를 선택합니다. 필요한 선형 기록 옵션

  10. 필요에 따라 병합하기 전에 변경 내용을 성공적으로 배포해야 하는 환경을 선택하려면 병합하기 전에 성공적인 배포 필요를 선택한 다음, 환경을 선택합니다. 성공적인 배포 옵션 필요

  11. 필요에 따라, 관리자에게 위의 규칙 적용. 관리자에게 위의 규칙 적용 확인란

  12. 필요에 따라 GitHub Free 조직이 소유한 퍼블릭 리포지토리의 를 사용하여 조직이 소유한 모든 리포지토리에서 분기 제한을 사용하도록 설정합니다.

    • 일치하는 분기에 푸시할 수 있는 사용자 제한을 선택합니다. 분기 제한 확인란
    • 필요에 따라 일치하는 분기 만들기도 제한하려면 일치하는 분기를 만드는 푸시 제한을 선택합니다. 분기 만들기 제한 확인란
    • 보호된 분기로 푸시하거나 일치하는 분기를 만들 수 있는 권한이 있는 사용자, 팀 또는 앱을 검색하여 선택합니다. 분기 제한 검색
  13. 필요에 따라 "관리자를 포함한 모든 사용자에게 적용되는 규칙" 아래에서 강제 푸시 허용을 선택합니다. 강제 푸시 허용 옵션 그런 다음 분기로 강제 푸시할 수 있는 사용자를 선택합니다.

    • 관리자 권한이 있는 사용자를 포함하여 리포지토리에 대한 쓰기 권한이 있는 모든 사용자가 강제로 분기로 푸시할 수 있도록 허용하려면 모두를 선택합니다.

    • 특정 행위자만 강제로 분기로 푸시할 수 있도록 허용하려면 강제로 푸시할 수 있는 사용자 지정을 선택합니다. 그런 다음, 해당 행위자를 검색하여 선택합니다. ! [강제 푸시할 수 있는 사용자를 지정하는 옵션의 스크린샷] (/assets/images/help/repository/allow-force-pushes-specify-who-with-apps.png)

      강제 푸시에 대한 자세한 내용은 "보호된 분기 정보"을 참조하세요.

  14. 필요에 따라 삭제 허용을 선택합니다. 분기 삭제 허용 옵션

  15. 만들기를 클릭합니다.

분기 보호 규칙 편집

  1. GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리 이름 아래에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭은 진한 주황색 윤곽선으로 강조 표시됩니다.

  2. 사이드바의 “코드 및 자동화” 섹션에서 분기를 클릭합니다.

  3. 편집하려는 분기 보호 규칙의 오른쪽에서 편집을 클릭합니다. 편집 단추

  4. 분기 보호 규칙을 원하는 대로 변경합니다.

  5. 변경 내용 저장을 클릭합니다. Save changes(변경 내용 저장) 단추

분기 보호 규칙 삭제

  1. GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리 이름 아래에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭은 진한 주황색 윤곽선으로 강조 표시됩니다.

  2. 사이드바의 “코드 및 자동화” 섹션에서 분기를 클릭합니다.

  3. 삭제하려는 분기 보호 규칙의 오른쪽에서 삭제를 클릭합니다. 삭제 단추