고급 `CODEOWNERS` 구성
Code Owners를 사용하여 코드베이스의 전문가를 정의하고, 파일 유형이나 위치에 따라 검토 요구 사항을 설정합니다.
CODEOWNERS 파일은 특정 파일과 디렉토리에 누가 책임이 있는지 정의하는 데 도움이 됩니다. 패턴 매칭, 섹션 및 상속 규칙을 사용하여 머지 리퀘스트에 검토자를 할당하고 머지 전에 승인을 요구할 수 있습니다. 패턴 매칭 # GitLab은 패턴 매칭을 위해 File::FNM_DOTMATCH 및 File::FNM_PATHNAME 플래그가 설정된 File::fnmatch 를 사용합니다: 저장소 구조는 격리된 파일 시스템처럼 처리됩니다. 패턴은 쉘 파일명 글로빙 규칙의 하위 집합을 따르며, 정규식이 아닙니다. File::FNM_DOTMATCH 플래그는 * 가 .gitignore 와 같은 닷파일과 일치할 수 있도록 허용합니다. File::FNM_PATHNAME 플래그는 * 가 / 경로 구분자와 일치하는 것을 방지합니다. ** 는 디렉토리를 재귀적으로 일치시킵니다. 예를 들어, **/*.rb 는 config/database.rb 와 app/controllers/users/stars_controller.rb 와 일치합니다. 기본 Code Owner 및 선택적 섹션 # 기본 소유자를 선택적 섹션 의 구문과 결합하고 필수 승인을 요구하려면 기본 소유자를 마지막에 배치합니다: [Documentation][2] @docs-team docs/ README.md ^[Database] @database-team model/db/ config/db/database-setup.md @docs-team 일반 항목과 섹션 # 섹션 외부의 경로에 기본 Code Owner를 설정하면 그들의 승인이 항상 필요합니다. 이러한 항목은 섹션에 의해 재정의되지 않습니다. 섹션 없는 항목은 마치 다른 이름 없는 섹션에 있는 것처럼 처리됩니다: # Required for all files * @general-approvers [Documentation] @docs-team docs/ README.md *.txt [Database] @database-team model/db/ config/db/database-setup.md @docs-team 이 예에서: @general-approvers 는 재정의 없이 모든 곳의 모든 항목을 소유합니다. @docs-team 은 Documentation 섹션의 모든 항목을 소유합니다. @database-team 은 Database 섹션의 모든 항목을 소유하지만, @docs-team 에게 할당하는 재정의가 있는 config/db/database-setup.md 는 제외합니다. model/db/CHANGELOG.txt 를 수정하는 머지 리퀘스트는 @general-approvers , @docs-team , @database-team 그룹 각각에서 한 명씩 세 개의 승인이 필요합니다. 이 동작을 섹션의 특정 항목이 섹션 기본값을 재정의하는 섹션의 기본 소유자 만 사용하는 경우와 비교해 보세요. 중복된 이름의 섹션 # 여러 섹션이 같은 이름을 가지면 결합됩니다. 또한 섹션 제목은 대소문자를 구분하지 않습니다. 예를 들어: [Documentation] e
