Skip to main content

조직에서 리포지토리에 대한 규칙 집합 만들기

조직의 여러 리포지토리를 대상으로 하는 규칙 집합을 만들 수 있습니다.

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

Organization owners can create rulesets at the organization level.

소개

GitHub Team 또는 GitHub Enterprise 플랜을 사용하는 고객의 경우, 조직 내에서 규칙 집합을 만들어 사용자가 조직 내 리포지토리와 상호 작용하는 방식을 제어할 수 있습니다. 특정 분기에 커밋을 푸시할 수 있는 사용자, 커밋의 형식을 지정하는 방법, 태그를 삭제하거나 이름을 바꿀 수 있는 사용자와 같은 항목을 제어할 수 있습니다. 리포지토리의 이름을 바꾸는 것을 방지할 수도 있습니다.

프라이빗 또는 내부 리포지토리와 리포지토리의 전체 포크 네트워크에 대한 푸시를 차단하는 푸시 규칙 집합을 만들 수도 있습니다. 푸시 규칙 집합을 사용하면 파일 확장명, 파일 경로 길이, 파일 및 폴더 경로 및 파일 크기에 따라 푸시를 차단할 수 있습니다.

포크는 업스트림 리포지토리에서 분기 또는 태그 규칙 집합을 상속하지 않습니다. 그러나 조직 소유의 포크는 다른 리포지토리와 마찬가지로 사용자가 만든 규칙 집합의 적용을 받습니다.

포크는 루트 리포지토리에서 푸시 규칙 집합을 상속합니다. 푸시 규칙은 리포지토리의 전체 포크 네트워크에 적용되어 리포지토리에 대한 모든 진입점이 보호되도록 합니다. 예를 들어 푸시 규칙 집합을 사용하도록 설정된 리포지토리를 포크하는 경우 포크된 리포지토리에도 동일한 푸시 규칙 집합이 적용됩니다.

포크된 리포지토리의 경우 푸시 규칙에 대한 바이패스 권한이 있는 사람은 루트 리포지토리에서 바이패스 권한이 있는 사용자뿐입니다.

미리 빌드된 규칙 집합 가져오기

GitHub(으)로 미리 빌드된 규칙 집합 중 하나를 가져오려면 github/ruleset-recipes를 참조하세요.

JSON 파일을 사용하여 기존 규칙 집합을 가져올 수 있습니다. 여러 리포지토리 또는 조직에 동일한 규칙 집합을 적용하려는 경우에 유용할 수 있습니다. 자세한 내용은 조직의 리포지토리에 대한 규칙 집합 관리을(를) 참조하세요.

fnmatch 구문 사용

fnmatch 구문을 사용하여 규칙 집합을 만들 때 대상으로 지정할 패턴을 정의할 수 있습니다.

* 와일드카드를 사용하여 어떤 문자열이든 매칭할 수 있습니다. GitHub에서 File::FNM_PATHNAME 플래그를 File.fnmatch 구문에 사용하므로 *와일드카드는 디렉터리 구분 기호(/)와 일치하지 않습니다. 예를 들어 qa/*qa/로 시작하고 단일 슬래시를 포함하는 모든 분기와 일치하지만 qa/foo/bar과 일치하지 않습니다.. 다음과 같이 qa과 일치하는 qa/**/*는 슬래시를 원하는 대로, 예를 들어 qa/foo/bar/foobar/hello-world 포함할 수 있습니다. qa 문자열을 qa**/**/*와 확장하여 규칙을 더 포괄적으로 만들 수도 있습니다.

구문 옵션에 대한 자세한 내용은 fnmatch 문서를 참조하세요.

규칙 집합 적용 상태 사용

규칙 세트를 만들거나 편집하는 동안 적용 상태를 사용하여 규칙 세트를을 적용하는 방법을 구성할 수 있습니다.

규칙 세트에 대해 다음 적용 상태 중에서 선택할 수 있습니다.

  • 활성: 규칙 세트가 생성 시에 적용됩니다.
  • 사용 안 함: 규칙 세트가 적용되지 않습니다.

분기 또는 태그 규칙 세트 만들기

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택한 다음, Your organizations를 클릭합니다.

  2. 조직 옆에 있는 설정을 클릭합니다.

  3. 왼쪽 사이드바의 "코드, 계획, 자동화" 섹션에서 리포지토리를 선택한 다음 규칙 집합을 클릭합니다.

    조직의 설정 페이지 스크린샷. 사이드바에서 "규칙 집합"이라는 레이블이 지정된 링크가 주황색 윤곽선으로 표시되어 있습니다.

  4. 새 규칙 세트를 클릭합니다.

  5. 분기를 대상으로 하는 규칙 세트를 만들려면 새 분기 규칙 세트를 클릭합니다. 또는 태그를 대상으로 하는 규칙 집합을 만들려면 새 태그 규칙 집합을 클릭합니다.

  6. "규칙 집합 이름" 아래에 규칙 집합의 이름을 입력합니다.

  7. 필요에 따라 기본 적용 상태를 변경하려면 사용 안 함 을 클릭하고 적용 상태를 선택합니다. 적용 상태에 대한 자세한 내용은 규칙 세트 정보을(를) 참조하세요.

조직에서 대상으로 지정할 리포지토리 선택

규칙 집합을 사용하면 조직의 모든 리포지토리, 특정 명명 규칙과 일치하는 조직의 리포지토리, 사용자 지정 속성이 있는 조직의 리포지토리 또는 조직에서 수동으로 선택한 리포지토리 목록을 대상으로 지정할 수 있습니다.

사용자 지정 속성에 대한 자세한 내용은 조직의 리포지토리에 대한 사용자 지정 속성 관리을(를) 참조하세요.

리포지토리가 조직 수준에서 만든 규칙 집합의 대상이 되는 경우 조직의 소유자만 규칙 집합을 편집할 수 있습니다. 그러나 리포지토리에 대한 관리자 액세스 권한이 있거나 "리포지토리 규칙 편집" 권한을 포함한 사용자 지정 역할이 있는 사용자는 리포지토리 수준에서 추가적인 규칙 집합을 만들 수 있습니다. 이러한 규칙 집합의 규칙은 조직 수준에서 정의된 규칙으로 집계됩니다. 그 결과, 새 규칙 집합을 만들면 분기 또는 태그를 대상으로 하는 규칙이 더 제한적이지만 제한적이지 않을 수 있습니다. 규칙 집합을 만드는 방법에 대한 자세한 내용은 규칙 세트 정보을(를) 참조하세요.

조직의 모든 리포지토리 대상 지정

조직의 모든 리포지토리를 대상으로 지정하려면 "대상 리포지토리" 섹션에서 대상: 리포지토리를 선택한 다음 모든 리포지토리를 클릭합니다.

조직의 명명 규칙을 통해 리포지토리 대상 지정

  1. 명명 규칙을 사용하여 조직의 동적 리포지토리 목록을 대상으로 지정하려면 "대상 리포지토리" 섹션에서 대상: REPOSITORIES를 선택한 다음, 리포지토리의 동적 목록을 클릭합니다.

  2. 대상 지정 패턴 정의를 시작하려면 "대상 지정 조건" 섹션에서 대상 추가 을(를) 선택한 다음, 패턴별 포함 또는 패턴별 제외를 클릭합니다.

  3. 표시되는 모달 대화 상자에서 fnmatch 구문을 사용하여 리포지토리 명명 패턴을 입력한 다음 포함 패턴 추가 또는 제외 패턴 추가를 클릭합니다. fnmatch 구문에 대한 자세한 내용은 fnmatch 구문 사용을 참조하세요.

    참고 항목

    동일한 규칙 세트에 여러 대상 지정 조건을 추가할 수 있습니다. 예를 들어 패턴 *cat*와(과) 일치하는 리포지토리를 포함한 다음, 패턴 not-a-cat와(과) 일치하는 리포지토리를 특히 제외할 수 있습니다.

  4. 필요에 따라 규칙 집합 구성 페이지에서 대상 리포지토리의 이름 바꾸기 방지를 선택하세요.

조직의 속성별 리포지토리 대상 지정

사용자 지정 속성을 사용하여 조직의 리포지토리를 대상으로 지정할 수 있습니다. 자세한 내용은 조직의 리포지토리에 대한 사용자 지정 속성 관리을(를) 참조하세요.

  1. 속성별로 조직의 동적 리포지토리 목록을 대상으로 지정하려면 "대상 리포지토리" 섹션에서 대상: REPOSITORIES를 선택한 다음 속성별 동적 목록을 클릭하세요.
  2. 대상을 추가하려면 "대상 지정 조건" 섹션에서 대상 을(를) 추가한 다음 속성별 포함 또는 속성별 제외를 클릭하세요.
  3. 표시되는 모달 대화 상자의 드롭다운 메뉴에서 사용자 지정 또는 시스템 속성을 선택한 다음 속성 값을 선택하세요.
  4. 대상 추가를 클릭하세요.

조직에서 선택 리포지토리를 대상으로 지정

  1. 조직에서 수동으로 선택한 정적 리포지토리 목록을 대상으로 지정하려면 "대상 리포지토리" 섹션에서 대상: 리포지토리를 선택한 다음, 리포지토리 선택을 클릭합니다.
  2. 대상으로 지정할 리포지토리를 선택하려면 "대상 지정 조건" 섹션에서 리포지토리 선택을 선택한 다음, 대상으로 지정할 각 리포지토리의 이름을 검색합니다. 검색 결과에서 각 리포지토리를 선택합니다.

대상으로 지정할 분기 또는 태그 선택

분기 또는 태그를 대상으로 지정하려면 "대상 분기" 또는 "대상 태그" 섹션에서 대상 추가를 선택한 다음 분기 또는 태그를 포함하거나 제외할 방법을 선택합니다. fnmatch 구문을 사용하여 패턴에 따라 분기 또는 태그를 포함하거나 제외할 수 있습니다. 자세한 내용은 fnmatch 구문 사용을 참조하세요.

동일한 규칙 세트에 여러 대상 지정 조건을 추가할 수 있습니다. 예를 들어 기본 분기를 포함하고 *feature* 패턴과 일치하는 분기를 포함한 다음, not-a-feature 패턴과 일치하는 분기를 명시적으로 제외할 수 있습니다.

분기 또는 태그 보호 선택

"분기 보호" 또는 "태그 보호" 섹션에서 규칙 세트에 포함할 규칙을 선택합니다. 규칙을 선택하면 규칙에 대한 추가 설정을 입력할 수 있습니다. 규칙에 대한 자세한 내용은 규칙 세트에 사용 가능한 규칙을(를) 참조하세요.

참고 항목

병합 전 상태 검사 필요를 선택하는 경우 “추가 설정” 섹션에서 다음을 수행합니다.

  • 필요한 각 상태 검사 이름을 입력할 수 있습니다. 상태 검사를 요구 사항으로 추가하는 작업을 완료하려면 를 클릭해야 합니다.
  • 병합 전 분기 업데이트 필요를 선택하는 경우 보호를 적용할 검사를 정의해야 합니다.

분기 또는 태그 규칙 집합 완료 및 다음 단계

규칙 세트 만들기를 마치려면 만들기를 클릭합니다. 규칙 세트의 적용 상태가 "활성"으로 설정된 경우 규칙 세트가 즉시 적용됩니다.

푸시 규칙 집합 만들기

참고 항목

이 규칙 집합은 리포지토리의 전체 포크 네트워크에 대한 제한을 적용합니다.

조직의 프라이빗 또는 내부 리포지토리에 대한 푸시 규칙 집합을 만들 수 있습니다.

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택한 다음, Your organizations를 클릭합니다.

  2. 조직 옆에 있는 설정을 클릭합니다.

  3. 왼쪽 사이드바의 "코드, 계획, 자동화" 섹션에서 리포지토리를 선택한 다음 규칙 집합을 클릭합니다.

    조직의 설정 페이지 스크린샷. 사이드바에서 "규칙 집합"이라는 레이블이 지정된 링크가 주황색 윤곽선으로 표시되어 있습니다.

  4. 새 규칙 세트를 클릭합니다.

  5. 분기를 대상으로 하는 규칙 집합을 만들려면 새 푸시 규칙 집합을 클릭합니다.

  6. "규칙 집합 이름" 아래에 규칙 집합의 이름을 입력합니다.

  7. 필요에 따라 기본 적용 상태를 변경하려면 사용 안 함 을 클릭하고 적용 상태를 선택합니다. 적용 상태에 대한 자세한 내용은 규칙 세트 정보을(를) 참조하세요.

푸시 규칙 집합에 대한 바이패스 권한 부여

참고 항목

리포지토리를 대상으로 하는 푸시 규칙 집합에 대한 바이패스 권한은 이 리포지토리의 전체 포크 네트워크에 상속됩니다. 이는 이 리포지토리의 전체 포크 네트워크에 있는 모든 리포지토리에 대해 이 규칙 집합을 바이패스할 수 있는 유일한 사용자는 루트 리포지토리에서 이 규칙 집합을 바이패스할 수 있는 사용자뿐임을 의미합니다.

특정 역할, 팀 또는 앱 바이패스 권한 을(를) 승인하는 기능을 부여할 수 있습니다. 다음 사람에게는 바이패스 액세스 권한이 부여됩니다.

  • 리포지토리 관리자, 조직 소유자, 엔터프라이즈 소유자
  • 유지 관리 또는 작성 역할 또는 쓰기 역할에 따른 사용자 지정 리포지토리 역할
  • Teams
  • GitHub Apps
  • Dependabot. Dependabot에 대한 자세한 내용은 Dependabot 빠른 시작 가이드을(를) 참조하세요.
  1. 규칙 세트에 대한 바이패스 권한을 부여하려면 "바이패스 목록" 섹션에서 바이패스 추가를 클릭합니다.
  2. 표시되는 "바이패스 추가" 모달 대화 상자에서 바이패스 권한을 부여할 역할, 팀 또는 앱을 검색한 다음 "제안" 섹션에서 역할, 팀 또는 앱을 선택하고 선택한 항목 추가를 클릭합니다.

조직에서 대상으로 지정할 리포지토리 선택

규칙 집합을 사용하면 조직의 모든 리포지토리, 특정 명명 규칙과 일치하는 조직의 리포지토리, 사용자 지정 속성이 있는 조직의 리포지토리 또는 조직에서 수동으로 선택한 리포지토리 목록을 대상으로 지정할 수 있습니다.

사용자 지정 속성에 대한 자세한 내용은 조직의 리포지토리에 대한 사용자 지정 속성 관리을(를) 참조하세요.

리포지토리가 조직 수준에서 만든 규칙 집합의 대상이 되는 경우 조직의 소유자만 규칙 집합을 편집할 수 있습니다. 그러나 리포지토리에 대한 관리자 액세스 권한이 있거나 "리포지토리 규칙 편집" 권한을 포함한 사용자 지정 역할이 있는 사용자는 리포지토리 수준에서 추가적인 규칙 집합을 만들 수 있습니다. 이러한 규칙 집합의 규칙은 조직 수준에서 정의된 규칙으로 집계됩니다. 그 결과, 새 규칙 집합을 만들면 분기 또는 태그를 대상으로 하는 규칙이 더 제한적이지만 제한적이지 않을 수 있습니다. 규칙 집합을 만드는 방법에 대한 자세한 내용은 규칙 세트 정보을(를) 참조하세요.

조직의 모든 리포지토리 대상 지정

조직의 모든 리포지토리를 대상으로 지정하려면 "대상 리포지토리" 섹션에서 대상: 리포지토리를 선택한 다음 모든 리포지토리를 클릭합니다.

조직의 명명 규칙을 통해 리포지토리 대상 지정

  1. 명명 규칙을 사용하여 조직의 동적 리포지토리 목록을 대상으로 지정하려면 "대상 리포지토리" 섹션에서 대상: REPOSITORIES를 선택한 다음, 리포지토리의 동적 목록을 클릭합니다.

  2. 대상 지정 패턴 정의를 시작하려면 "대상 지정 조건" 섹션에서 대상 추가 을(를) 선택한 다음, 패턴별 포함 또는 패턴별 제외를 클릭합니다.

  3. 표시되는 모달 대화 상자에서 fnmatch 구문을 사용하여 리포지토리 명명 패턴을 입력한 다음 포함 패턴 추가 또는 제외 패턴 추가를 클릭합니다. fnmatch 구문에 대한 자세한 내용은 fnmatch 구문 사용을 참조하세요.

    참고 항목

    동일한 규칙 세트에 여러 대상 지정 조건을 추가할 수 있습니다. 예를 들어 패턴 *cat*와(과) 일치하는 리포지토리를 포함한 다음, 패턴 not-a-cat와(과) 일치하는 리포지토리를 특히 제외할 수 있습니다.

  4. 필요에 따라 규칙 집합 구성 페이지에서 대상 리포지토리의 이름 바꾸기 방지를 선택하세요.

조직의 속성별 리포지토리 대상 지정

사용자 지정 속성을 사용하여 조직의 리포지토리를 대상으로 지정할 수 있습니다. 자세한 내용은 조직의 리포지토리에 대한 사용자 지정 속성 관리을(를) 참조하세요.

  1. 속성별로 조직의 동적 리포지토리 목록을 대상으로 지정하려면 "대상 리포지토리" 섹션에서 대상: REPOSITORIES를 선택한 다음 속성별 동적 목록을 클릭하세요.
  2. 대상을 추가하려면 "대상 지정 조건" 섹션에서 대상 을(를) 추가한 다음 속성별 포함 또는 속성별 제외를 클릭하세요.
  3. 표시되는 모달 대화 상자의 드롭다운 메뉴에서 사용자 지정 또는 시스템 속성을 선택한 다음 속성 값을 선택하세요.
  4. 대상 추가를 클릭하세요.

조직에서 선택 리포지토리를 대상으로 지정

  1. 조직에서 수동으로 선택한 정적 리포지토리 목록을 대상으로 지정하려면 "대상 리포지토리" 섹션에서 대상: 리포지토리를 선택한 다음, 리포지토리 선택을 클릭합니다.
  2. 대상으로 지정할 리포지토리를 선택하려면 "대상 지정 조건" 섹션에서 리포지토리 선택을 선택한 다음, 대상으로 지정할 각 리포지토리의 이름을 검색합니다. 검색 결과에서 각 리포지토리를 선택합니다.

푸시 보호 선택

파일 확장명, 파일 경로 길이, 파일 및 폴더 경로, 파일 크기에 따라 이 리포지토리와 이 리포지토리의 전체 포크 네트워크에 대한 푸시를 차단할 수 있습니다.

구성하는 모든 푸시 방지는 이 리포지토리와 이 리포지토리의 전체 포크 네트워크에서 푸시를 차단합니다.

  1. "보호 방지" 아래에서 적용하려는 제한을 클릭합니다. 그런 다음 선택한 제한 사항에 대한 세부 정보를 입력합니다.

    파일 경로 제한에 부분 또는 전체 경로를 사용할 수 있습니다. 이 테스트에 fnmatch 구문을 사용할 수 있습니다. 예를 들어 test/demo/**/*를 대상으로 하는 제한은 test/demo/ 디렉터리의 파일이나 폴더에 대한 푸시를 방지합니다. test/docs/pushrules.md를 대상으로 하는 제한 사항은 test/docs/ 디렉터리의 pushrules.md 파일에 대한 푸시를 방지합니다. 자세한 내용은 리포지토리에 대한 규칙 세트 만들기을(를) 참조하세요.

푸시 규칙 집합 완료 및 다음 단계

규칙 세트 만들기를 마치려면 만들기를 클릭합니다. 규칙 세트의 적용 상태가 "활성"으로 설정된 경우 규칙 세트가 즉시 적용됩니다.