- 병합 요청 승인 설정 편집
- 병합 요청 작성자의 승인 방지
- 커밋을 추가한 사용자의 승인 방지
- 병합 요청에서 승인 규칙 편집 방지
- 사용자 재인증 필요하여 승인함
- 소스 브랜치에 커밋이 추가될 때 모든 승인 제거
- 코드 소유자가 파일을 변경할 경우 승인 제거
- 관련 주제
병합 요청 승인 설정
병합 요청 승인을 구성하여 승인 규칙이 사용 사례에 부합하는지 확인할 수 있습니다. 또한 작업이 병합되기 전에 승인해야 하는 사용자의 수와 유형을 정의하는 승인 규칙을 구성할 수도 있습니다. 병합 요청 승인 설정은 병합 요청이 완료되는 방향으로 이러한 규칙을 적용하는 방법을 정의합니다.
다음 중 하나의 조합을 사용하여 병합 요청에 대한 승인 제한을 구성할 수 있습니다:
- 승인자로부터의 승인 방지: 병합 요청의 작성자가 승인을 할 수 없도록 합니다.
- 커밋을 추가한 사용자의 승인 방지: 병합 요청에 커밋을 추가한 사용자가 승인할 수 없도록 합니다.
- 병합 요청에서 승인 규칙 편집 방지: 프로젝트 수준 승인 규칙을 병합 요청에서 무시하도록 합니다.
- 사용자 재인증(암호 또는 SAML) 승인 필요: 잠재적인 승인자가 먼저 암호 또는 SAML로 인증하도록 합니다.
- 코드 소유자 승인 제거: 커밋이 병합 요청에 추가될 때 기존 승인에 대한 옵션을 정의합니다.
- 승인 유지: 승인을 제거하지 않습니다.
- 모든 승인 제거: 모든 기존 승인을 제거합니다.
- 코드 소유자의 파일이 변경되면 해당 승인도 제거: 코드 소유자가 병합 요청을 승인하고 나중에 커밋이 해당 코드 소유자의 파일을 변경하면 해당 승인이 제거됩니다.
병합 요청 승인 설정 편집
단일 프로젝트에 대한 병합 요청 승인 설정을 보거나 편집하려면 다음을 수행합니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 승인을 확장합니다.
인스턴스 또는 최상위 그룹에서 설정 연쇄
승인 규칙 설정을 관리를 간소화하기 위해 가능한 넓은 수준에서 승인 규칙을 구성합니다. 생성된 규칙은 다음에 적용됩니다:
그룹이나 프로젝트가 설정을 상속하면 해당 상속 그룹이나 프로젝트에서는 설정을 변경할 수 없습니다. 설정이 생긴 곳인 최상위 그룹이나 인스턴스에서 설정을 변경해야 합니다.
병합 요청 작성자의 승인 방지
기본적으로 병합 요청의 작성자는 승인할 수 없습니다. 이 설정을 변경하려면 다음을 수행하십시오:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 승인 섹션에서 승인 설정으로 스크롤하여 승인자로부터의 승인 방지 확인란을 선택 취소합니다.
- 변경 사항 저장을 선택합니다.
작성자는 개별 병합 요청에서 승인 규칙을 편집하고 이 설정을 무시할 수 있습니다. 다음 옵션 중 하나를 구성하지 않는 한:
- 프로젝트 레벨에서 기본 승인 재정의 방지.
- (자체 관리형 인스턴스 전용) 인스턴스 레벨에서 기본 승인 재정의 방지. 인스턴스 레벨에서 구성한 경우 프로젝트나 개별 병합 요청 수준에서 이 설정을 편집할 수 없습니다.
커밋을 추가한 사용자의 승인 방지
기본적으로 병합 요청에 커밋을 추가한 사용자는 여전히 승인할 수 있습니다. 프로젝트 수준 또는 인스턴스 수준에서 사용자가 부분적으로 자신의 것인 병합 요청을 승인하지 못하도록 할 수 있습니다. 다음과 같이 수행합니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 승인 섹션에서 승인 설정으로 스크롤하여 커밋을 추가한 사용자의 승인 방지를 선택합니다. 이 확인란을 선택 해제하면 관리자가 인스턴스 레벨에서 이를 비활성화했으며 프로젝트 수준에서 이를 변경할 수 없습니다.
- 변경 사항 저장을 선택합니다.
코드 소유자가 병합 요청에 커밋을 추가하면 해당 병합 요청을 승인할 수 없습니다.
자세한 내용은 공식 Git 문서를 참조하십시오.
병합 요청에서 승인 규칙 편집 방지
기본적으로 사용자는 프로젝트별로 생성한 승인 규칙을 병합 요청 단위로 재정의할 수 있습니다. 사용자가 병합 요청에서 승인 규칙을 변경하지 못하도록 하려면 이 설정을 비활성화할 수 있습니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 승인 섹션에서 승인 설정으로 스크롤하여 병합 요청에서 승인 규칙 편집 방지를 선택합니다.
- 변경 사항 저장을 선택합니다.
이 변경 사항은 모든 열린 병합 요청에 영향을 미칩니다.
이 필드를 변경하면 다음과 같이 모든 열린 병합 요청에 영향을 줄 수 있습니다:
- 사용자가 이전에 승인 규칙을 편집할 수 있었고 이제 이 동작을 비활성화하는 경우, GitLab은 모든 열린 병합 요청을 업데이트하여 승인 규칙을 강제합니다.
- 사용자가 이전에 승인 규칙을 편집할 수 없었고 이제 승인 규칙 편집을 활성화하는 경우, 열린 병합 요청은 변경되지 않습니다. 이는 이미 해당 병합 요청의 승인 규칙에 대해 적용된 모든 변경을 보존합니다.
사용자 재인증 필요하여 승인함
- GitLab 16.6에 도입된 GitLab.com 그룹에 대한 SAML 인증 사용을 통한 재인증 요구사항은
ff_require_saml_auth_to_approve
라는 플래그로 기본으로 비활성화됩니다.- GitLab 16.7에 도입된 SAML 인증 사용을 통한 자체 관리 인스턴스에 대한 재인증 요구사항은
ff_require_saml_auth_to_approve
라는 플래그로 기본으로 비활성화됩니다.- GitLab 16.8에서 GitLab.com 및 자체 관리 인스턴스에 대해 기본으로
ff_require_saml_auth_to_approve
를 활성화합니다.
플래그:
자체 관리 GitLab에서 SAML 인증을 사용한 재인증 요구는 기본적으로 사용할 수 있습니다. 이 기능을 숨기려면 관리자가 ff_require_saml_auth_to_approve
라는 플래그를
비활성화할 수 있습니다. GitLab.com 및 GitLab Dedicated에서 이 기능을 사용할 수 있습니다.
잠재적인 승인자가 먼저 SAML 또는 암호로 인증하도록 할 수 있습니다. 이 권한은 Code of Federal Regulations (CFR) Part 11에서 정의한 것과 같이 승인에 대한 전자 서명을 가능하게 합니다.
전제 조건:
- 이 설정은 최상위 그룹에서만 사용할 수 있습니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 암호 인증 및 SAML 인증을 활성화합니다. 자세한 정보는 다음을 참조하세요:
- 암호 인증은 로그인 제한 설명서를 참조하세요.
- GitLab.com 그룹용 SAML 인증은 GitLab.com 그룹을 위한 SAML SSO 설명서를 참조하세요.
- 자체 관리 인스턴스용 SAML 인증은 자체 관리 GitLab 인스턴스용 SAML SSO를 참조하세요.
- 왼쪽 사이드바에서 설정 > 병합 요청을 선택합니다.
- 병합 요청 승인 섹션에서 승인 설정으로 스크롤하고 사용자 재인증(암호 또는 SAML) 필요함을 선택합니다.
- 변경 사항 저장을 선택합니다.
소스 브랜치에 커밋이 추가될 때 모든 승인 제거
기본적으로 병합 요청에 대한 승인은 승인 후에 더 많은 변경 사항을 추가하면 제거됩니다. GitLab 프리미엄 및 얼티메이트 티어에서는 병합 요청에 추가 변경 사항이 있는 경우 기존 승인을 유지하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 병합 요청 승인 섹션에서 승인 설정으로 스크롤하고 모든 승인 제거 확인란을 선택해제합니다.
- 변경 사항 저장을 선택합니다.
GitLab은 병합 요청의 차이점을 식별하기 위해 git patch-id
를 사용합니다. 이 값은 상당히 안정적이고 고유한 식별자이며,
병합 요청 내부에서 승인을 재설정하는 더 현명한 결정을 가능하게 합니다. 병합 요청에 새 변경 사항을 푸시하면 patch-id
가 이전 patch-id
와 평가되어 승인을 재설정해야 하는지 확인됩니다. 이렇게 함으로써, feature 브랜치에서 git rebase
또는 git merge <target>
와 같은 명령을 실행할 때 GitLab이 더 나은 재설정 결정을 내릴 수 있게 됩니다.
코드 소유자가 파일을 변경할 경우 승인 제거
- GitLab 15.3에 도입되었습니다.
새로운 커밋에서 파일이 변경된 경우 코드 소유자의 승인만 제거하려면:
전제 조건:
- 프로젝트에 적어도 Maintainer 역할이 있어야 합니다.
다음을 수행합니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 병합 요청 승인 섹션에서 승인 설정으로 스크롤하고 파일이 변경되면 코드 소유자의 승인 제거를 선택합니다.
- 변경 사항 저장을 선택합니다.