Skip to main content

리포지토리에 대한 규칙 세트 관리

리포지토리에서 기존 규칙 세트를 편집, 모니터링 및 삭제하여 사용자가 특정 분기 및 태그와 상호 작용하는 방법을 변경할 수 있습니다.

누가 이 기능을 사용할 수 있나요?

리포지토리에 대한 읽기 권한이 있는 사용자는 해당 리포지토리의 규칙 세트를 볼 수 있습니다. 리포지토리에 대한 관리자 액세스 권한이 있거나 "리포지토리 규칙 편집" 권한이 있는 사용자 지정 역할이 있는 사용자는 리포지토리에 대한 규칙 집합을 생성, 편집, 삭제하고 규칙 집합 인사이트를 볼 수 있습니다. 자세한 내용은 사용자 지정 리포지토리 역할 정보을(를) 참조하세요.

규칙 세트는 조직의 GitHub Free 및 GitHub Free가 있는 퍼블릭 리포지토리와 GitHub Pro, GitHub Team, GitHub Enterprise Cloud의 퍼블릭 리포지토리 및 프라이빗 리포지토리에서 사용할 수 있습니다. 자세한 내용은 GitHub 계획을(를) 참조하세요.

푸시 규칙 집합은 내부 및 프라이빗 리포지토리, 푸시 규칙 집합이 사용 설정된 리포지토리의 포크 및 기업 내 조직에서 GitHub Enterprise Cloud 플랜에 사용할 수 있습니다.

규칙 집합을 만든 후에도 변경할 수 있습니다. 예를 들어 분기 또는 태그를 더 잘 보호하는 규칙을 추가하거나 리포지토리에 대한 기여자 환경에 미치는 영향을 테스트한 후 규칙 집합을 "평가" 모드에서 "활성"으로 전환하여 리포토리의 기여자 환경에 의도하지 않은 영향을 해결하기 위해 규칙 집합을 일시적으로 사용하지 않도록 설정할 수 있습니다.

REST 및 GraphQL API를 사용하여 규칙 세트를 관리할 수 있습니다. 자세한 내용은 규칙에 대한 REST API 엔드포인트변형을(를) 참조하세요.

조직의 소유자인 경우 조직 수준에서 규칙 세트를 만들 수 있습니다. 이러한 규칙 세트를 조직의 특정 리포지토리 및 해당 리포지토리의 특정 분기에 적용할 수 있습니다. 자세한 내용은 조직 내 리포지토리에 대한 규칙 세트 만들기을(를) 참조하세요.

리포지토리에 대한 규칙 세트 보기

"규칙 집합" 페이지에서 리포지토리에 대한 읽기 권한이 있는 모든 사용자는 특정 분기, 태그 또는 푸시 제한을 대상으로 하는 활성 규칙 집합을 볼 수 있습니다. 또한 "평가" 모드에서 실행 중인 규칙 집합이 표시되며, 이는 적용되지 않습니다.

포크된 리포지토리에 대한 푸시 규칙 집합의 경우 "규칙 집합" 페이지에 규칙이 적용되는 원본 리포지토리에서 규칙 집합을 관리하는 것으로 표시됩니다.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 왼쪽의 파일 트리 보기에서 분기 드롭다운 메뉴를 선택한 다음 모든 분기 보기를 클릭합니다. 통합 파일 편집기의 맨 위에도 분기 드롭다운 메뉴가 있습니다.

    리포지토리의 파일 트리 보기 스크린샷 분기의 드롭다운 메뉴가 확장되고 진한 주황색 윤곽선으로 표시되어 있습니다.

  3. 브랜치 이름의 왼쪽 옆에 있는 를 클릭합니다.

    규칙 집합이 있는 분기만이 그 이름 옆에 아이콘을 가지고 있습니다.

  4. 필요에 따라 결과를 필터링하려면 탭을 클릭하거나 "분기 검색" 검색 창을 사용합니다.

  5. 보려는 규칙 세트의 이름을 클릭합니다.

활성 러슬렛을 볼 수도 있습니다.

  • 리포지토리의 URL에 /rules 슬러그를 추가합니다. 예를 들어 GitHub 오픈 소스 설명서 리포지토리의 규칙을 보려면 https://github.com/github/docs/rules로 이동합니다.

  • 끌어오기 요청의 병합을 차단하는 규칙이 있는 경우 병합 상자에 표시됩니다.

규칙 세트 편집

참고

조직 수준에서 규칙 세트를 만든 경우 리포지토리의 설정에서 규칙 세트를 편집할 수 없습니다. 규칙 세트를 편집할 수 있는 권한이 있는 경우 조직의 설정에서 규칙 세트를 편집할 수 있습니다. 자세한 내용은 조직의 리포지토리에 대한 규칙 집합 관리을(를) 참조하세요.

규칙 집합을 편집하여 이름, 권한 무시 또는 규칙 등을 변경할 수 있습니다. 규칙 집합을 편집하여 규칙 집합을 사용하거나 일시적으로 사용하지 않도록 설정하여 상태를 변경할 수 있습니다.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

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

  3. 왼쪽 사이드바의 "코드 및 자동화"에서 규칙을 클릭한 다음 규칙 세트를 클릭합니다.

    리포지토리에 대한 "설정" 페이지의 사이드바 스크린샷. "규칙" 하위 메뉴가 확장되고 "규칙 세트" 옵션이 주황색 윤곽선으로 표시되어 있습니다.

  4. "규칙 세트" 페이지에서 편집할 규칙 세트의 이름을 클릭합니다.

  5. 필요에 따라 규칙 세트를 변경합니다. 사용 가능한 규칙에 대한 정보는 규칙 세트에 사용 가능한 규칙을(를) 참조하세요.

  6. 페이지 하단에서 Save changes(변경 내용 저장)를 클릭합니다.

규칙 세트 삭제

규칙 세트를 일시적으로 사용하지 않도록 설정하고 삭제하지는 않으려는 경우 규칙 세트의 상태를 “사용 안 함”으로 설정할 수 있습니다. 자세한 내용은 규칙 세트 편집을 참조하세요.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

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

  3. 왼쪽 사이드바의 "코드 및 자동화"에서 규칙을 클릭한 다음 규칙 세트를 클릭합니다.

    리포지토리에 대한 "설정" 페이지의 사이드바 스크린샷. "규칙" 하위 메뉴가 확장되고 "규칙 세트" 옵션이 주황색 윤곽선으로 표시되어 있습니다.

  4. 삭제할 규칙 세트의 이름을 클릭합니다.

  5. 규칙 세트 이름의 오른쪽에서 을 선택하고 Delete ruleset를 클릭합니다.

    규칙 세트를 편집하기 위한 페이지의 스크린샷 세 개의 점으로 레이블이 지정된 단추 아래에 "규칙 세트 삭제"라는 레이블이 지정된 옵션이 주황색 윤곽선으로 표시되어 있습니다.

규칙 세트 기록 활용

규칙 세트 기록에서는 지난 180일 내에 사용자의 규칙 세트에 영향을 미친 변경 내용을 통해 트리거된 이벤트가 목록으로 나열됩니다.

규칙 집합의 모든 변경 내용을 보고 특정 반복으로 되돌릴 수 있습니다. 특정 반복에서 규칙 집합의 구성이 포함된 JSON 파일을 다운로드할 수도 있습니다. 규칙 집합의 바이패스 목록은 내보낸 JSON 파일에서 제외됩니다.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

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

  3. 왼쪽 사이드바의 "코드 및 자동화"에서 규칙을 클릭한 다음 규칙 세트를 클릭합니다.

    리포지토리에 대한 "설정" 페이지의 사이드바 스크린샷. "규칙" 하위 메뉴가 확장되고 "규칙 세트" 옵션이 주황색 윤곽선으로 표시되어 있습니다.

  4. 규칙 집합 변경 기록을 보려면 규칙 집합 이름 오른쪽에 있는 를 선택한 다음, History를 클릭합니다.

    리포지토리 규칙 집합에 대한 페이지의 스크린샷. 세 개의 점으로 레이블이 지정된 단추 아래에는 "기록"이라는 레이블이 지정된 옵션이 주황색으로 표시됩니다.

  5. 특정 반복의 오른쪽에서 를 선택한 다음 변경 내용 비교, 복원 또는 다운로드를 클릭하세요.

    리포지토리 규칙 집합 기록에 대한 페이지의 스크린샷. 세 개의 점으로 레이블이 지정된 드롭다운 메뉴가 주황색 윤곽선으로 확장되고 강조 표시됩니다.

규칙 집합 가져오기

JSON 파일을 사용하여 기존 규칙 집합을 가져올 수 있습니다. 여러 리포지토리 또는 조직에 동일한 규칙 집합을 적용하려는 경우에 유용할 수 있습니다.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

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

  3. 왼쪽 사이드바의 "코드 및 자동화"에서 규칙을 클릭한 다음 규칙 세트를 클릭합니다.

    리포지토리에 대한 "설정" 페이지의 사이드바 스크린샷. "규칙" 하위 메뉴가 확장되고 "규칙 세트" 옵션이 주황색 윤곽선으로 표시되어 있습니다.

  4. 새 규칙 집합 드롭다운을 선택한 다음 규칙 집합 가져오기를 클릭하세요.

    리포지토리 규칙 집합에 대한 페이지의 스크린샷. "New ruleset" 드롭다운 메뉴가 확장되고 "Import a ruleset" 옵션이 주황색 윤곽선으로 표시됩니다.

  5. 내보낸 JSON 파일을 여세요.

  6. 가져온 규칙 집합을 검토하고 만들기를 클릭하세요.

규칙 세트에 대한 인사이트 보기

규칙 세트에 대한 인사이트를 보고 규칙 세트가 리포지토리에 미치는 영향을 확인할 수 있습니다. "규칙 인사이트" 페이지에 다음 사용자 작업의 타임라인 표시됩니다. 필터를 사용하여 원하는 항목을 찾을 수 있습니다.

  • 하나 이상의 규칙 집합에 맞춰 점검되고 통과된 작업입니다.
  • 하나 이상의 규칙 집합에 대해 검사를 거쳐 실패한 작업들입니다.
  • 하나 이상의 규칙 세트를 우회한 동작입니다.

규칙 집합을 "평가" 모드에서 실행 중일 때는 규칙 집합이 활성화된 경우 통과하거나 실패한 작업을 볼 수 있습니다.

또한 이러한 인사이트는 규칙 모음 REST API를 통해 사용할 수 있습니다.

"규칙 인사이트" 페이지의 스크린샷. "Pass", "Bypass", "Fail"이라는 세 가지 작업이 나열됩니다. 실패한 작업에는 "평가" 레이블이 있습니다.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

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

  3. 왼쪽 사이드바의 "코드 및 자동화"에서 규칙을 클릭한 다음 인사이트를 클릭합니다.

    리포지토리에 대한 "설정" 페이지의 사이드바 스크린샷. "규칙" 하위 메뉴가 확장되고 "인사이트" 옵션이 주황색 윤곽선으로 표시되어 있습니다.

  4. "규칙 인사이트" 페이지에서 페이지 맨 위에 있는 드롭다운 메뉴를 사용하여 규칙 세트, 분기, 행위자 및 기간을 기준으로 작업을 필터링합니다.

  5. 특정 규칙이 실패했거나 바이패스가 필요한지 확인하려면 를 클릭한 다음 규칙 세트의 이름을 확장합니다.

    “규칙 인사이트트” 페이지의 스크린샷. "not-allowed"라는 레이블이 있는 이벤트의 오른쪽에 세 개의 가로 점 아이콘이 주황색 윤곽선으로 표시됩니다.

  6. 필요에 따라 동일한 병합 그룹의 해당 풀 리퀘스트에 대한 병합 큐의 세부 사항을 검토합니다.

규칙 인사이트 대시보드

참고

규칙 인사이트 대시보드는 공개 미리 보기에 있으며 변경될 수 있습니다. GitHub Team 및 GitHub Enterprise Cloud 플랜에서 사용할 수 있습니다.

규칙 인사이트 대시보드는 다음을 포함하여 리포지토리에 대한 규칙 평가 작업의 시각적 요약을 제공합니다.

  •         **시간에 따른 성공, 실패 및 바이패스**: 규칙 평가 결과의 추세를 보여 주는 차트로, 차단된 푸시 또는 비정상적인 패턴에서 급증을 발견할 수 있습니다.
    
  •         **상위 바이패서**: 규칙 집합에 대한 가장 활성 바이패스 목록입니다.
    

각 차트는 필터가 미리 채워져 있는 규칙 인사이트 페이지로 다시 연결되어, 특정 상태, 우회자 또는 시간 범위를 빠르게 분석할 수 있습니다.

대시보드를 보려면 다음을 수행합니다.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

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

  3. 왼쪽 사이드바의 "코드 및 자동화"에서 규칙을 클릭한 다음 인사이트를 클릭합니다.

  4. "Rule Insights" 페이지의 맨 위에서 대시보드 차트에서 규칙 평가 작업의 개요를 확인합니다.

돌려주기 규칙을 바이패스하기 위한 요청 관리

리포지토리의 규칙 설정 아래에 있는 "바이패스 요청” 페이지에서 권한 바이패스 에 대한 모든 요청을 보고 관리할 수 있습니다.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

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

  3. 바이패스 요청을 클릭합니다.

승인자(바이패스 목록의 구성원), 요청자(요청을 만드는 기여자), 시간 범위 및 상태 따라 요청을 필터링할 수 있습니다. 다음 상태가 요청에 할당됩니다.

Status설명
Cancelled기여자가 요청을 취소했습니다.
Completed요청이 승인되었으며 커밋이 리포지토리로 푸시되었습니다.
Denied요청이 검토 및 거부되었습니다.
Expired요청이 만료되었습니다. 요청은 7일간 유효합니다.
Open요청이 아직 검토되지 않았거나, 승인되었지만 커밋이 리포지토리로 푸시되지 않았습니다.

기여자가 제한된 콘텐츠가 포함된 커밋을 돌려주기 위해 권한 바이패스를 요청하면 바이패스 목록의 모든 구성원은 요청에 대한 링크가 포함된 이메일 알림을 받습니다. 그러면 바이패스 목록의 구성원이 요청이 만료되기 전에 7일간 요청을 검토하고 승인하거나 거부할 수 있습니다.

기여자가 이메일로 결정에 대한 알림을 받게 되며 필요한 조치를 취해야 합니다. 요청이 승인되는 경우 기여자는 리포지토리에 대한 제한된 콘텐츠가 포함된 커밋을 돌려줄 수 있습니다. 요청이 거부되는 경우 기여자가 커밋을 리포지토리에 성공적으로 돌려주려면 커밋에서 제한된 콘텐츠를 제거해야 합니다.