브랜치 규칙
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitLab은 개별 브랜치를 보호하는 여러 방법을 제공합니다. 브랜치는 다음 방법으로 관리할 수 있습니다: 브랜치 규칙 개요 페이지는 구성된 보호가 있는 모든 브랜치와 보호 방법을 보여줍니다: 단일 브랜치의 브랜치 규칙 및 보호를 보려면:
GitLab은 개별 브랜치를 보호하는 여러 방법을 제공합니다. 이러한 방법은 브랜치가 생성부터 삭제까지 감독과 품질 검사를 받도록 보장합니다:
- 프로젝트의 기본 브랜치에 향상된 보안 및 보호를 적용합니다.
- 보호된 브랜치를 구성하여:
- 브랜치에 푸시하고 머지할 수 있는 사람을 제한합니다.
- 사용자가 브랜치에 강제 푸시할 수 있는지 관리합니다.
CODEOWNERS파일에 나열된 파일의 변경 사항을 브랜치에 직접 푸시할 수 있는지 관리합니다.
- 승인 규칙을 구성하여 검토 요구 사항을 관리하고 보안 관련 승인을 구현합니다.
- 타사 상태 검사와 통합하여 브랜치 내용이 정의된 품질 표준을 충족하는지 확인합니다.
브랜치는 다음 방법으로 관리할 수 있습니다:
- GitLab 사용자 인터페이스.
- 명령줄에서 Git.
- 브랜치 API.
브랜치 규칙 보기#
히스토리
- GitLab 16.1에서 일반 공개됨. 기능 플래그
branch_rules제거됨.
브랜치 규칙 개요 페이지는 구성된 보호가 있는 모든 브랜치와 보호 방법을 보여줍니다:

전제 조건:
- 프로젝트에 대한 Maintainer 또는 Owner 역할이 있어야 합니다.
브랜치 규칙 개요 목록을 보려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Settings > Repository를 선택합니다.
- Branch rules를 펼쳐 보호가 있는 모든 브랜치를 봅니다.
브랜치 규칙 세부 정보 보기#
단일 브랜치의 브랜치 규칙 및 보호를 보려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Settings > Repository를 선택합니다.
- Branch rules를 펼쳐 보호가 있는 모든 브랜치를 봅니다.
- 원하는 브랜치를 찾고 View details를 선택합니다.
브랜치 규칙 만들기#
히스토리
- GitLab 16.8에서
add_branch_rules라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. - GitLab 16.11에서 기능 플래그
add_branch_rules가edit_branch_rules로 이름 변경됨. 기본적으로 비활성화됨. - GitLab 17.0에서 All branches 및 All protected branches 옵션이 도입됨.
- GitLab 17.4에서 GitLab.com에서 활성화됨.
- GitLab 17.5에서 GitLab Self-Managed 및 GitLab Dedicated에서 활성화됨.
- GitLab 18.9에서 일반 공개됨. 기능 플래그
edit_branch_rules제거됨.
전제 조건:
- 프로젝트에 대한 Maintainer 또는 Owner 역할이 있어야 합니다.
브랜치 규칙을 만들려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Settings > Repository를 선택합니다.
- Branch rules를 펼칩니다.
- Add branch rule을 선택합니다.
- 다음 옵션 중 하나를 선택합니다:
- 특정 브랜치 이름 또는 패턴을 입력하려면:
- Branch name or pattern을 선택합니다.
- Create branch rule 드롭다운 목록에서 브랜치 이름을 선택하거나
*로 와일드카드를 만듭니다.
- 프로젝트의 모든 브랜치를 보호하려면:
- All branches를 선택합니다.
- 규칙의 세부 정보 페이지에서 Merge request approvals 아래에 규칙에 필요한 승인 수를 입력합니다.
- 이미 보호된 것으로 지정된 프로젝트의 모든 브랜치를 보호하려면:
- All protected branches를 선택합니다.
- 규칙의 세부 정보 페이지에서 Merge request approvals 아래에 규칙에 필요한 승인 수를 입력합니다.
- 특정 브랜치 이름 또는 패턴을 입력하려면:
브랜치 규칙 보호 추가#
all branches에는 사용할 수 없습니다.
새 브랜치에 보호를 추가하려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Settings > Repository를 선택합니다.
- Branch rules를 펼칩니다.
- Add branch rule을 선택합니다.
- All protected branches 또는 Branch name or pattern 중 하나를 선택합니다.
- Create branch rule을 선택합니다.
승인 규칙 추가#
all branches에는 사용할 수 없습니다.
전제 조건:
- 프로젝트에 대한 Maintainer 또는 Owner 역할이 있어야 합니다.
머지 리퀘스트 승인 규칙을 추가하려면:
- 브랜치 규칙 세부 정보 페이지에서 Merge request approvals 섹션으로 이동합니다.
- Approval rules 섹션에서 Add approval rule을 선택합니다.
- 오른쪽 사이드바에서 필드를 입력합니다:
-
Rule name을 입력합니다.
-
Required number of approvals에 값(
0-100)을 입력합니다.0값은 규칙을 선택 사항으로 만들고,0보다 큰 숫자는 필수 규칙을 만듭니다. 최대 필수 승인 수는100입니다. -
승인 자격이 있는 사용자 또는 그룹을 선택합니다.
GitLab은 머지 리퀘스트에서 변경된 파일의 이전 작성자를 기반으로 승인자를 제안합니다.
-
- Save changes를 선택합니다.
추가 정보는 승인 규칙을 참조하세요.
스쿼시 커밋 옵션 편집#
히스토리
- GitLab 17.9에서
branch_rule_squash_settings라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. - GitLab 17.10에서 GitLab.com, GitLab Self-Managed 및 GitLab Dedicated에서 활성화됨.
- GitLab 17.11에서 일반 공개됨. 기능 플래그
branch_rule_squash_settings제거됨.
전제 조건:
- 프로젝트에 대한 Maintainer 또는 Owner 역할이 있어야 합니다.
- GitLab Free에서는 브랜치 규칙이 All branches를 대상으로 하는 경우에만 이 기능을 사용할 수 있습니다.
- GitLab Premium 및 GitLab Ultimate에서는 모든 브랜치 규칙에서 이 기능을 사용할 수 있습니다.
스쿼시 옵션을 편집하려면:
-
브랜치 규칙 세부 정보 페이지에서 Squash commits when merging 섹션으로 이동합니다.
-
Edit를 선택합니다.
-
다음 옵션 중 하나를 선택합니다:
- Default: 브랜치 수준의 스쿼시 설정을 제거하고 프로젝트의 기본 설정을 상속합니다. 이 옵션은 프로젝트의 기본 설정을 정의하는 All branches 규칙에는 사용할 수 없습니다.
- Do not allow: 스쿼싱이 허용되지 않으며 체크박스가 숨겨집니다.
- Allow: 체크박스가 표시되며 기본적으로 선택 해제됩니다.
- Encourage: 체크박스가 표시되며 기본적으로 선택됩니다.
- Require: 스쿼싱이 항상 수행됩니다. 체크박스가 표시되고 선택되며 사용자가 변경할 수 없습니다.
-
Save changes를 선택합니다.
상태 검사 서비스 추가#
히스토리
- GitLab 17.4에서
edit_branch_rules라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. - GitLab 17.4에서 GitLab.com에서 활성화됨.
- GitLab 17.5에서 GitLab Self-Managed 및 GitLab Dedicated에서 활성화됨.
- GitLab 18.9에서 일반 공개됨. 기능 플래그
edit_branch_rules제거됨.
all protected branches에는 사용할 수 없습니다.
상태 검사 서비스를 추가하려면:
-
브랜치 규칙 세부 정보 페이지에서 Status checks 섹션으로 이동합니다.
-
Add status check를 선택합니다.
-
Service name을 입력합니다.
-
API to check 필드에 URL을 입력합니다.
전송 중인 머지 리퀘스트 데이터를 보호하기 위해 HTTPS URL을 사용해야 합니다.

자세한 내용은 외부 상태 검사를 참조하세요.
브랜치 규칙 대상 편집#
히스토리
- GitLab 16.8에서
add_branch_rules라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. - GitLab 16.11에서 기능 플래그
add_branch_rules가edit_branch_rules로 이름 변경됨. 기본적으로 비활성화됨. - GitLab 17.4에서 GitLab.com에서 활성화됨.
- GitLab 17.5에서 GitLab Self-Managed 및 GitLab Dedicated에서 활성화됨.
- GitLab 18.9에서 일반 공개됨. 기능 플래그
edit_branch_rules제거됨.
전제 조건:
- 프로젝트에 대한 Maintainer 또는 Owner 역할이 있어야 합니다.
브랜치 규칙 대상을 편집하려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Settings > Repository를 선택합니다.
- Branch rules를 펼쳐 보호가 있는 모든 브랜치를 봅니다.
- 원하는 브랜치를 찾고 View details를 선택합니다.
- Rule target 섹션에서 Edit를 선택합니다.
- 필요에 따라 정보를 편집합니다.
- Update를 선택합니다.
브랜치 규칙 보호 편집#
브랜치 보호 제어에 대한 자세한 내용은 보호된 브랜치를 참조하세요.
all branches에는 사용할 수 없습니다.
브랜치 규칙 삭제#
히스토리
- GitLab 16.8에서
add_branch_rules라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. - GitLab 16.11에서 기능 플래그
add_branch_rules가edit_branch_rules로 이름 변경됨. 기본적으로 비활성화됨. - GitLab 17.4에서 GitLab.com에서 활성화됨.
- GitLab 17.5에서 GitLab Self-Managed 및 GitLab Dedicated에서 활성화됨.
- GitLab 18.9에서 일반 공개됨. 기능 플래그
edit_branch_rules제거됨.
전제 조건:
- 프로젝트에 대한 Maintainer 또는 Owner 역할이 있어야 합니다.
브랜치 규칙을 삭제하려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Settings > Repository를 선택합니다.
- Branch rules를 펼칩니다.
- 삭제할 규칙 옆에서 View details를 선택합니다.
- 오른쪽 상단 모서리에서 Delete rule을 선택합니다.
- 확인 대화 상자에서 Delete branch rule을 선택합니다.
all branches를 대상으로 하는 규칙에 대해서는 브랜치 규칙 삭제가 불가능합니다.
