다음을 통해 공유


분기 정책 및 설정

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

분기 정책은 팀이 중요한 개발 분기 를 보호하는 데 도움이 됩니다. 정책은 팀의 코드 품질을 적용하고 관리 표준을 변경합니다. 이 문서에서는 분기 정책을 설정하고 관리하는 방법을 설명합니다. 모든 리포지토리 및 분기 정책 및 설정에 대한 개요는 Git 리포지토리 설정 및 정책을 참조하세요.

필요한 정책이 구성된 분기는 삭제할 수 없으며 모든 변경 내용에 대해 끌어오기 요청(PR)이 필요합니다.

필수 조건

  • 분기 정책을 설정하려면 프로젝트 관리자 보안 그룹의 구성원이거나 리포지토리 수준 편집 정책 권한이 있어야 합니다. 자세한 내용은 Git 리포지토리 권한 설정을 참조 하세요.

  • Azure DevOps CLI az repos policy 명령을 사용하여 분기 정책을 관리하려면 Azure DevOps CLI 시작의 단계를 수행합니다.

  • 분기 정책을 설정하려면 프로젝트 관리자 보안 그룹의 구성원이거나 리포지토리 수준 편집 정책 권한이 있어야 합니다. 자세한 내용은 Git 리포지토리 권한 설정을 참조 하세요.

분기 정책 구성

분기 정책을 관리하려면 리포지토리>분기를 선택하여 웹 포털에서 분기 페이지를 엽니다.

분기 메뉴 항목을 보여 주는 스크린샷.

프로젝트 설정>리포지토리>정책 분기 정책 분기 이름을> 사용하여 분기 정책<>>설정을 가져올 수도 있습니다.

정책이 있는 분기는 정책 아이콘을 표시합니다. 아이콘을 선택하여 분기의 정책 설정으로 직접 갈 수 있습니다.

분기 정책을 설정하려면 관리하려는 분기를 찾습니다. 목록을 찾아보거나 오른쪽 위에 있는 분기 이름 검색 상자에서 분기를 검색할 수 있습니다.

분기 옆에 있는 기타 옵션 아이콘을 선택한 다음 상황에 맞는 메뉴에서 분기 정책을 선택합니다.

상황에 맞는 메뉴에서 분기 정책 열기를 보여 주는 스크린샷

페이지에서 분기를 찾습니다. 목록을 찾아보거나 오른쪽 위에 있는 모든 분기 검색 상자를 사용하여 분기 를 검색할 수 있습니다.

분기 페이지를 보여 주는 스크린샷.

... 단추를 선택합니다. 상황에 맞는 메뉴에서 분기 정책을 선택합니다.

상황에 맞는 메뉴에서 분기 정책 열기를 보여 주는 스크린샷

분기의 설정 페이지에서 정책을 구성합니다. 각 정책 유형에 대한 설명 및 지침은 다음 섹션을 참조하세요.

정책 페이지에서 정책을 구성합니다. 각 정책 유형에 대한 설명은 다음 섹션을 참조하세요. 변경 내용 저장을 선택하여 새 정책 구성을 적용합니다.

정책 탭을 보여 주는 스크린샷

최소 검토자 수 요구

코드 검토는 소프트웨어 개발 프로젝트에 중요합니다. 팀이 PR을 검토하고 승인하도록 하려면 최소 수의 검토자의 승인을 요구할 수 있습니다. 기본 정책을 사용하려면 지정된 수의 검토자가 거부 없이 코드를 승인해야 합니다.

정책을 설정하려면 분기 정책에서 최소 검토자 수를 켜기로 설정합니다. 필요한 검토자 수를 입력하고 다음 옵션 중 원하는 옵션을 선택합니다.

코드 검토 필요 정책을 사용하도록 설정하는 스크린샷.

  • PR 작성자가 승인에 투표할 수 있도록 요청자가 자신의 변경 내용을 승인하도록 허용을 선택합니다. 그렇지 않은 경우 작성자는 PR에 대한 승인을 계속 투표할 수 있지만 투표는 최소 검토자 수에 포함되지 않습니다.

  • 가장 최근의 푸셔가 자신의 변경 내용을 승인하여 의무 분리를 적용하는 것을 금지합니다. 기본적으로 원본 분기에 대한 푸시 권한이 있는 사용자는 커밋을 추가하고 PR 승인에 투표할 수 있습니다. 이 옵션을 선택하면 일반적으로 자신의 변경 내용을 승인할 수 있더라도 가장 최근의 푸셔의 투표는 계산되지 않습니다.

  • 일부 검토자가 승인에 대해 투표하는 경우에도 일부 검토자가 PR 완료를 허용하도록 기다리거나 거부하는 경우에도 완료 허용을 선택합니다. 검토자의 최소 수는 여전히 승인해야 합니다.

  • 새 변경 내용이 푸시되는 경우:
    • 마지막 반복에 대해 하나 이상의 승인 필요를 선택하여 마지막 원본 분기 변경에 대해 하나 이상의 승인 투표를 요구합니다.
    • 모든 승인 투표를 제거하려면 모든 승인 투표 재설정(거부 또는 대기에 대한 투표를 다시 설정하지 않음)을 선택하지만 원본 분기가 변경 될 때마다 투표를 거부하거나 기다리도록 유지합니다.
    • 승인, 거부 또는 대기할 투표를 포함하여 원본 분기가 변경 될 때마다 모든 검토자 투표를 제거하려면 모든 코드 검토자 투표 다시 설정을 선택합니다.
  • 새 변경 내용이 푸시되는 경우:
    • 마지막 원본 분기 변경에 대해 하나 이상의 승인 투표를 요구하려면 모든 반복에 대해 하나 이상의 승인 필요를 선택합니다. 사용자의 승인은 해당 사용자가 푸시한 이전의 승인되지 않은 반복에 대해 계산되지 않습니다. 따라서 다른 사용자가 마지막 반복에 대한 또 다른 승인을 수행해야 합니다. Azure DevOps Server 2022.1 이상에서는 모든 반복 에 대해 하나 이상의 승인이 필요합니다.
    • 마지막 반복에 대해 하나 이상의 승인 필요를 선택하여 마지막 원본 분기 변경에 대해 하나 이상의 승인 투표를 요구합니다.
    • 모든 승인 투표를 제거하려면 모든 승인 투표 재설정(거부 또는 대기에 대한 투표를 다시 설정하지 않음)을 선택하지만 원본 분기가 변경 될 때마다 투표를 거부하거나 기다리도록 유지합니다.
    • 승인, 거부 또는 대기할 투표를 포함하여 원본 분기가 변경 될 때마다 모든 검토자 투표를 제거하려면 모든 코드 검토자 투표 다시 설정을 선택합니다.

코드 검토 필요 확인란을 선택합니다.

  • 요청자가 자신의 변경 내용을 승인할 수 있는 경우 끌어오기 요청 작성자는 끌어오기 요청에 대해 승인을 투표할 수 있지만 투표는 최소 검토자 수에 포함되지 않습니다.
  • 검토자가 변경 내용을 거부하는 경우 일부 검토자가 기다리거나 거부하는 경우에도 완료 허용을 선택하지 않는 한 끌어오기 요청을 완료할 수 없습니다.
  • 새 변경 내용이 원본 분기에 푸시될 때 코드 검토자 투표를 다시 설정할 수 있습니다. 새 변경 내용이 있는 경우 코드 검토자 투표 다시 설정을 선택합니다.

다른 모든 정책이 통과되면 필요한 수의 검토자가 승인하면 작성자가 PR을 완료할 수 있습니다.

연결된 작업 항목 확인

작업 항목 관리 추적의 경우, PR과 작업 항목 간의 연결을 요구할 수 있습니다. 작업 항목을 연결하면 변경 내용에 대한 컨텍스트가 더 많이 제공되고 업데이트가 작업 항목 추적 프로세스를 거치도록 합니다.

정책을 설정하려면 분기 정책에서 연결된 작업 항목 확인을 켜기로 설정합니다. 이 설정을 사용하려면 PR을 병합하기 위해 작업 항목을 PR에 연결해야 합니다. 연결된 작업 항목이 없는 경우 경고를 표시하지만 끌어오기 요청의 완료를 허용하려면 설정을 선택 사항 으로 지정합니다.

끌어오기 요청에 연결된 작업 항목이 필요한 스크린샷

끌어오기 요청에 연결된 작업 항목 필요

설명 확인 검사

메모 확인 확인 정책은 모든 PR 주석이 확인되는지 여부를 확인합니다.

메모 확인 확인을 켜기로 설정 하여 분기에 대한 주석 확인 정책을 구성합니다. 그런 다음, 정책을 필수 또는 선택 사항으로 만들 것인지 선택합니다.

메모 확인 확인의 스크린샷.

끌어오기 요청 주석 작업에 대한 자세한 내용은 끌어오기 요청 검토를 참조 하세요.

메모 확인 확인을 선택하여 분기에 대한 주석 확인 정책을 구성합니다.

설명 확인 검사

끌어오기 요청 주석 작업에 대한 자세한 내용은 끌어오기 요청 검토를 참조 하세요.

병합 형식 제한

Azure Repos에는 여러 병합 전략이 있으며 기본적으로 모든 병합 전략이 허용됩니다. PR 완료를 위해 병합 전략을 적용하여 일관된 분기 기록을 유지할 수 있습니다.

리포지토리에서 허용할 병합 형식을 제한하려면 병합 형식 제한을 On으로 설정합니다.

병합 형식 제한 스크린샷

  • 기본 병합(빠른 전달 없음) 은 부모가 대상 및 원본 분기인 대상에 병합 커밋을 만듭니다.
  • Squash 병합 은 원본 분기의 변경 내용을 사용하여 대상 분기에 단일 커밋을 사용하여 선형 기록을 만듭니다. 스쿼시 병합 및 분기 기록에 미치는 영향에 대해 자세히 알아봅니다.
  • 다시 기반 및 빠른 전달 은 병합 커밋 없이 원본 커밋을 대상 분기에 재생하여 선형 기록을 만듭니다.
  • 병합 커밋 을 사용하여 다시베이스하면 원본 커밋이 대상에 재생되고 병합 커밋도 생성됩니다.

참고 항목

이 기능은 Azure DevOps Server 2020 이상 버전에서 사용할 수 있습니다.

병합 전략 적용

끌어오기 요청이 완료되면 병합 전략을 적용하여 일관된 분기 기록을 유지 관리합니다. 병합 전략 적용을 선택하고 해당 전략을 사용하여 끌어오기 요청 병합을 요구하는 옵션을 선택합니다.

병합 요구 사항 설정

  • 빠른 전달 병합 없음 - 이 옵션은 끌어오기 요청이 닫히면 원본 분기의 커밋 기록을 병합하고 대상 분기에 병합 커밋을 만듭니다.
  • Squash 병합 - squash 병합 을 사용하여 모든 끌어오기 요청을 완료하여 원본 분기의 변경 내용으로 대상 분기에 단일 커밋을 만듭니다. 스쿼시 병합 및 분기 기록에 미치는 영향에 대해 자세히 알아봅니다.

빌드 유효성 검사

PR을 완료하기 전에 PR 변경 내용이 성공적으로 빌드되도록 요구하는 정책을 설정할 수 있습니다. 빌드 정책은 중단을 줄이고 테스트 결과를 계속 전달합니다. 빌드 정책은 개발 분기에서 CI(연속 통합)를 사용하여 문제를 조기에 catch하는 경우에도 도움이 됩니다.

빌드 유효성 검사 정책은 새 PR이 만들어지거나 변경 내용이 분기를 대상으로 하는 기존 PR에 푸시될 때 새 빌드를 큐에 대기합니다. 빌드 정책은 빌드 결과를 평가하여 PR을 완료할 수 있는지 여부를 결정합니다.

Important

빌드 유효성 검사 정책을 지정하기 전에 빌드 파이프라인이 있어야 합니다. 파이프라인이 없는 경우 빌드 파이프라인 만들기를 참조하세요. 프로젝트 형식과 일치하는 빌드 유형을 선택합니다.

빌드 유효성 검사 정책을 추가하려면

  1. + 빌드 유효성 검사 옆에 있는 단추를 선택합니다.

    빌드 유효성 검사 옆에 있는 추가 단추를 보여 주는 스크린샷.

  2. 빌드 정책 설정 양식을 작성합니다.

    빌드 정책 설정의 스크린샷.

    • 빌드 파이프라인선택합니다.

    • 필요에 따라 경로 필터설정합니다. 분기 정책의 경로 필터에 대해 자세히 알아봅니다 .

    • 트리거에서 자동(원본 분기가 업데이트 될 때마다) 또는 수동을 선택합니다.

    • 정책 요구 사항에 따라 필수 또는 선택 사항을 선택합니다. 필수를 선택하는 경우 빌드가 완료되어야만 PR을 완료할 수 있습니다. 선택 사항을 선택하여 빌드 실패에 대한 알림을 제공하지만 여전히 PR이 완료되도록 허용합니다.

    • 보호된 분기 업데이트가 열려 있는 PR에 대한 변경 내용을 중단하지 않도록 빌드 만료를 설정합니다.

      • <분기 이름이> 업데이트되는 즉시: 이 옵션은 분기가 업데이트 때마다 PR 빌드 정책 상태가 실패하도록 설정하고 빌드를 다시 큐에 추가합니다. 이 설정을 사용하면 보호된 분기 변경되더라도 PR 변경 내용이 성공적으로 빌드됩니다.

        이 옵션은 중요한 분기가 거의 변경되지 않은 팀에 가장 적합합니다. 사용량이 많은 개발 분기에서 작업하는 팀은 분기가 업데이트될 때마다 빌드를 기다리는 데 방해가 될 수 있습니다.

      • <분기 이름이> 업데이트된 경우 <n>시간 후: 전달 빌드가 입력한 임계값보다 오래된 경우 보호된 분기 업데이트되면 이 옵션은 현재 정책 상태가 만료됩니다. 이 옵션은 보호된 분기 업데이트할 때 항상 또는 전혀 빌드가 필요하지 않은 경우의 절충안입니다. 이 옵션을 선택하면 보호된 분기 자주 업데이트하는 경우 빌드 수가 줄어듭니다.

      • Never: 보호된 분기 업데이트해도 정책 상태가 변경되지 않습니다. 이 값은 빌드 수를 줄이지만 최근에 업데이트되지 않은 PR을 완료할 때 문제가 발생할 수 있습니다.

    • 이 빌드 정책의 선택적 표시 이름을 입력합니다. 이 이름은 분기 정책 페이지의 정책을 식별합니다. 표시 이름을 지정하지 않으면 정책은 빌드 파이프라인 이름을 사용합니다.

  3. 저장을 선택합니다.

PR 소유자가 빌드에 성공한 변경 내용을 푸시하면 정책 상태가 업데이트됩니다.

분기 이름이 업데이트되는 즉시 <또는 분기 이름이>> 업데이트된 빌드 정책이 있는 경우 <n>시간 후에 <이전 빌드가 더 이상 유효하지 않은 경우 보호된 분기 업데이트되면 정책 상태가 업데이트됩니다.

참고 항목

이 기능은 Azure DevOps Server 2020 이상 버전에서 사용할 수 있습니다.

끌어오기 요청을 완료하기 전에 보호된 분기 사용하여 끌어오기 요청의 변경 내용을 성공적으로 빌드하도록 요구하는 정책을 설정합니다. 빌드 정책은 중단을 줄이고 테스트 결과를 계속 전달합니다. 빌드 정책은 개발 분기에서 CI(연속 통합)를 사용하여 문제를 조기에 catch하는 경우에도 도움이 됩니다.

빌드 유효성 검사 정책을 사용하는 경우 새 끌어오기 요청이 생성되거나 분기를 대상으로 하는 기존 끌어오기 요청으로 변경 내용이 푸시될 때 새 빌드가 큐에 대기됩니다. 그런 다음 빌드 정책은 빌드 결과를 평가하여 끌어오기 요청을 완료할 수 있는지 여부를 결정합니다.

Important

빌드 유효성 검사 정책을 지정하기 전에 빌드 정의가 있어야 합니다. 빌드 정의가 없는 경우 빌드 정의 만들기를 참조하고 프로젝트 형식과 일치하는 빌드 유형을 선택합니다.

빌드 정책 추가

빌드 정책 추가를 선택하고 빌드 정책 추가에서 옵션을 구성합니다.

빌드 정책 설정

  1. 빌드 정의를 선택합니다.

  2. 트리거 유형을 선택합니다. 자동(원본 분기가 업데이트 될 때마다) 또는 수동을 선택합니다.

  3. 정책 요구 사항을 선택합니다. 필수를 선택하는 경우 끌어오기 요청을 완료하려면 빌드가 성공적으로 완료되어야 합니다. 선택 사항을 선택하여 빌드 실패에 대한 알림을 제공하지만 끌어오기 요청이 완료되도록 허용합니다.

  4. 보호된 분기 대한 업데이트가 열려 있는 끌어오기 요청에 대한 변경 내용을 중단하지 않도록 빌드 만료를 설정합니다.

    • branch name 업데이트되는 즉시: 이 옵션은 보호된 분기 업데이트될 때 끌어오기 요청의 빌드 정책 상태가 실패하도록 설정합니다. 빌드 상태를 새로 고치려면 빌드를 다시 큐에 추가합니다. 이 설정을 사용하면 보호된 분기 변경되더라도 끌어오기 요청의 변경 내용이 성공적으로 빌드됩니다. 이 옵션은 변경 볼륨이 낮은 중요한 분기가 있는 팀에 가장 적합합니다. 사용량이 많은 개발 분기에서 작업하는 팀은 보호된 분기 업데이트될 때마다 빌드가 완료될 때까지 기다리는 데 방해가 될 수 있습니다.
    • n 업데이트된 시간 branch name 후: 이 옵션은 전달 빌드가 입력한 임계값보다 오래된 경우 보호된 분기 업데이트될 때 현재 정책 상태가 만료됩니다. 이 옵션은 보호된 분기 업데이트할 때 항상 빌드를 요구하는 것과 필요하지 않은 빌드 간의 절충안입니다. 이 선택은 보호된 분기 자주 업데이트하는 경우 빌드 수를 줄이는 데 적합합니다.
    • Never: 보호된 분기 업데이트해도 정책 상태가 변경되지 않습니다. 이 값은 분기에 대한 빌드 수를 줄입니다. 최근에 업데이트되지 않은 끌어오기 요청을 닫을 때 문제가 발생할 수 있습니다.
  5. 이 빌드 정책의 선택적 표시 이름을 입력합니다. 이 이름은 분기 정책 페이지의 정책을 식별합니다. 표시 이름을 지정하지 않으면 정책은 빌드 정의 이름을 사용합니다.

  6. 저장을 선택합니다.

소유자가 빌드에 성공한 변경 내용을 푸시하면 정책 상태가 업데이트됩니다. 업데이트되는 즉시 또는 업데이트된 빌드 정책이 선택된 경우 branch name 몇 시간 후 n 인 경우 가장 최근 빌드가 더 이상 유효하지 않은 경우 보호된 분기 업데이트되면 정책 상태가 업데이트됩니다. branch name

상태 검사

외부 서비스는 PR 상태 API 를 사용하여 PR에 자세한 상태를 게시할 수 있습니다. 추가 서비스에 대한 분기 정책을 사용하면 해당 외부 서비스가 PR 워크플로에 참여하고 정책 요구 사항을 설정할 수 있습니다.

승인할 외부 서비스 필요 스크린샷

이 정책 구성에 대한 지침은 외부 서비스에 대한 분기 정책 구성을 참조하세요.

외부 서비스의 승인 필요

외부 서비스는 PR 상태 API 를 사용하여 PR에 자세한 상태를 게시할 수 있습니다. 추가 서비스에 대한 분기 정책은 해당 외부 서비스가 PR 워크플로에 참여하고 정책 요구 사항을 설정하는 기능을 제공합니다.

외부 서비스가 승인하도록 요구

이 정책 구성에 대한 지침은 외부 서비스에 대한 분기 정책 구성을 참조하세요.

코드 검토자 자동 포함

검토자를 자동으로 추가하여 특정 디렉터리 및 파일의 파일을 변경하는 요청을 끌어오거나 리포지토리의 모든 끌어오기 요청에 추가할 수 있습니다.

  1. + 자동으로 포함된 검토자 옆에 있는 단추를 선택합니다.

    필수 검토자 추가를 보여 주는 스크린샷

  2. 새 검토자 정책 추가 화면을 채웁니다.

    새 검토자 정책 추가 화면을 보여 주는 스크린샷.

    • 검토자에 사용자 및 그룹을 추가합니다.

    • 검토자를 자동으로 추가하지만 끌어오기 요청을 완료하기 위해 승인이 필요하지 않은 경우 선택 사항을 선택합니다.

      또는 다음까지 끌어오기 요청을 완료할 수 없는 경우 필수를 선택합니다.

      • 검토자로 추가된 모든 개인이 변경 내용을 승인합니다.
      • 검토자로 추가된 모든 그룹에서 하나 이상의 사용자가 변경 내용을 승인합니다.
      • 하나의 그룹만 필요한 경우 지정한 최소 멤버 수가 변경 내용을 승인합니다.
    • 자동으로 포함된 검토자가 필요한 파일 및 폴더를 지정합니다. 분기의 모든 끌어오기 요청에 대해 검토자가 필요하려면 이 필드를 비워 둡니다.

    • 끌어오기 요청 소유자가 이 정책을 충족하기 위해 자체 끌어오기 요청을 승인하도록 투표할 수 있는 경우 요청자가 자신의 변경 내용을 승인하도록 허용을 선택합니다.

    • 끌어오기 요청에 표시되는 활동 피드 메시지를 지정할 수 있습니다.

  3. 저장을 선택합니다.

참고 항목

이 기능은 Azure DevOps Server 2020 이상 버전에서 사용할 수 있습니다.

리포지토리의 특정 디렉터리 및 파일에 대한 검토자를 선택합니다.

경로 및 필수 검토자 입력

이러한 검토자는 해당 경로를 따라 파일을 변경하는 끌어오기 요청에 자동으로 추가됩니다. 활동 피드 메시지를 지정할 수도 있습니다.

자동 검토자 추가

필수를 선택하면 다음까지 끌어오기 요청을 완료할 수 없습니다.

  • 경로에 대한 검토자로 추가된 모든 사용자는 변경 내용을 승인합니다.
  • 경로에 추가된 모든 그룹에서 하나 이상의 사용자가 변경 내용을 승인합니다.
  • 경로에 추가된 모든 그룹에 대해 지정된 검토자 수가 변경 내용을 승인합니다.

필수 검토자가 자동으로 추가됨

검토자를 자동으로 추가하지만 끌어오기 요청을 완료하기 위해 승인이 필요하지 않은 경우 선택 사항을 선택합니다.

요청자가 자신의 변경 내용을 승인할 수 있도록 선택할 수 있습니다.

모든 필수 검토자가 코드를 승인하면 끌어오기 요청을 완료할 수 있습니다.

끌어오기 요청 상태는 검토자가 승인했음을 보여 줍니다.

분기 정책 무시

경우에 따라 정책 요구 사항을 무시해야 할 수 있습니다. 권한 무시를 사용하면 변경 내용을 분기에 직접 푸시하거나 분기 정책을 충족하지 않는 끌어오기 요청을 완료할 수 있습니다. 사용자 또는 그룹에 바이패스 권한을 부여할 수 있습니다. 바이패스 권한의 범위를 전체 프로젝트, 리포지토리 또는 단일 분기로 지정할 수 있습니다.

두 가지 사용 권한을 통해 사용자는 다른 방법으로 분기 정책을 바이패스할 수 있습니다.

  • 끌어오기 요청을 완료할 때 정책을 우회하는 것은 끌어오기 요청 완료에만 적용됩니다. 끌어오기 요청이 정책을 충족하지 않는 경우에도 이 권한이 있는 사용자는 끌어오기 요청을 완료할 수 있습니다.

  • 푸시할 때 정책을 바이패스하면 로컬 리포지토리의 푸시 및 웹에서 수행한 편집 내용에 적용됩니다. 이 권한이 있는 사용자는 정책 요구 사항을 충족하지 않고도 변경 내용을 보호된 분기 직접 푸시할 수 있습니다.

정책 적용 권한 무시를 보여 주는 스크린샷

이러한 사용 권한을 관리하는 방법에 대한 자세한 내용은 Git 권한을 참조 하세요.

TFS 2015~TFS 2018 업데이트 2 에서 정책 적용 권한 제외를 통해 이 권한이 있는 사용자는 다음 작업을 수행할 수 있습니다.

  • 현재 분기 정책 집합이 충족되지 않더라도 정책을 재정의하고 끌어오기 요청을 완료하도록 옵트인합니다.
  • 분기 정책이 설정된 경우에도 분기에 직접 푸시합니다. 이 권한이 있는 사용자가 분기 정책을 재정의하는 푸시를 수행하면 푸시는 옵트인 단계 또는 경고 없이 분기 정책을 자동으로 무시합니다.

Important

특히 리포지토리 및 프로젝트 수준에서 정책을 무시할 수 있는 권한을 부여할 때는 주의해야 합니다. 정책은 안전하고 규정을 준수하는 소스 코드 관리의 초석입니다.

패스 필터

여러 분기 정책은 경로 필터를 제공합니다. 경로 필터가 설정된 경우 정책은 경로 필터와 일치하는 파일에만 적용됩니다. 이 필드를 비워 두면 정책이 분기의 모든 파일에 적용됩니다.

절대 경로(경로는 와일드카드로 / 시작해야 합니다)와 와일드카드를 지정할 수 있습니다. 예:

  • /WebApp/Models/Data.cs
  • /WebApp/*
  • */Models/Data.cs
  • *.cs

구분 기호로 사용하여 ; 여러 경로를 지정할 수 있습니다. 예시:

  • /WebApp/Models/Data.cs;/ClientApp/Models/Data.cs

접두사로 ! 지정된 경로는 그렇지 않으면 제외됩니다. 예시:

  • /WebApp/*;!/WebApp/Tests/*에는 파일을 제외한 모든 파일이 포함됩니다./WebApp/WebApp/Tests
  • !/WebApp/Tests/* 는 먼저 아무것도 포함되지 않으므로 파일을 지정하지 않습니다.

필터의 순서가 중요합니다. 필터는 왼쪽에서 오른쪽으로 적용됩니다.

질문 & 답변

분기 정책이 있는 분기에 직접 변경 내용을 푸시할 수 있나요?

분기 정책을 바이패스할 수 있는 권한이 없으면 필요한 분기 정책을 사용하여 변경 내용을 분기로 직접 푸시할 수 없습니다. 이러한 분기의 변경 내용은 끌어오기 요청을 통해 서만 수행할 수 있습니다. 필요한 분기 정책이 없는 경우 선택적 분기 정책이 있는 분기에 직접 변경 내용을 푸시할 수 있습니다.

자동 완성이란?

분기 정책이 구성된 분기로 요청을 끌어오면 자동 완성 설정 단추가 있습니다. 모든 정책을 처리한 후 끌어오기 요청을 자동으로 완료하려면 이 옵션을 선택합니다. 자동 완성은 변경 내용에 문제가 없을 때 유용합니다.

분기 정책 조건은 언제 확인되나요?

끌어오기 요청 소유자가 변경 내용을 푸시하고 검토자가 투표할 때 분기 정책은 서버에서 다시 평가됩니다. 정책이 빌드를 트리거하는 경우 빌드 상태가 빌드가 완료될 때까지 대기 상태로 설정됩니다.

분기 정책에서 XAML 빌드 정의를 사용할 수 있나요?

아니요, 분기 정책에서는 XAML 빌드 정의를 사용할 수 없습니다.

필요한 코드 검토자에 사용할 수 있는 와일드카드 문자는 무엇인가요?

단일 별표는 * 슬래시 및 백슬래시 / 모두를 포함하여 임의의 수의 문자와 일치합니다 \. 물음표는 ? 모든 단일 문자와 일치합니다.

예:

  • *.sql는 모든 파일과 .sql 확장자를 갖습니다.
  • /ConsoleApplication/* 는 ConsoleApplication이라는 폴더 아래의 모든 파일과 일치합니다.
  • /.gitattributes 는 리포지토리의 루트에 있는 .gitattributes* 파일과 일치합니다.
  • */.gitignore 는 리포지토리의 모든 .gitignore 파일과 일치합니다.

필요한 코드 검토자 경로는 대/소문자를 구분합니까?

아니요, 분기 정책은 대/소문자를 구분하지 않습니다.

여러 사용자를 필수 검토자로 구성하려면 어떻게 하나만 승인해야 하나요?

그룹에 사용자를 추가한 다음 그룹을 검토자로 추가할 수 있습니다. 그러면 그룹의 모든 구성원이 정책 요구 사항을 충족하도록 승인할 수 있습니다.

바이패스 정책 권한이 있습니다. 끌어오기 요청 상태에서 정책 오류가 계속 표시되는 이유는 무엇인가요?

구성된 정책은 항상 끌어오기 요청 변경에 대해 평가됩니다. 바이패스 정책 권한이 있는 사용자의 경우 보고된 정책 상태는 권고에만 해당합니다. 바이패스 권한이 있는 사용자가 승인하면 실패 상태가 끌어오기 요청 완료를 차단하지 않습니다.

"요청자가 자신의 변경 내용을 승인하도록 허용이 설정"될 때 내 끌어오기 요청을 완료할 수 없는 이유는 무엇인가요?

최소 검토자 정책 및 자동으로 포함된 검토자 정책 모두 요청자가 자신의 변경 내용을 승인할 수 있도록 허용하는 옵션이 있습니다. 각 정책에서 설정은 해당 정책에만 적용됩니다. 이 설정은 다른 정책에 영향을 주지 않습니다.

예를 들어 끌어오기 요청에는 다음 정책이 설정됩니다.

  • 최소 검토자 수를 요구하려면 검토자가 하나 이상 필요합니다.
  • 자동으로 포함된 검토자는 사용자 또는 검토자로 있는 팀이 필요합니다.
  • 자동으로 포함된 검토자는 요청자가 자신의 변경 내용을 승인할 수 있도록 허용합니다.
  • 최소 수의 검토자가 요청자가 자신의 변경 내용을 승인할 수 있도록 허용하지 않아도 됩니다.

이 경우 승인이 자동으로 포함된 검토자를 충족하지만 최소 검토자가 필요하지 않으므로 끌어오기 요청을 완료할 수 없습니다.

또한 가장 최근의 푸셔가 자신의 변경 내용을 승인하는 것을 금지하는 것과 같은 다른 정책이 있을 수 있으며, 요청자가 자신의 변경 내용을 승인하도록 허용하더라도 자체 변경 내용을 승인할 수 없습니다.

경로 필터의 경로가 와일드카드로 시작되지 않거나 와일드카드로 / 시작되지 않으면 어떻게 되나요?

와일드카드로 시작하지 않거나 와일드카드로 / 시작하지 않는 경로 필터의 경로는 효과가 없으며 경로 필터는 해당 경로가 지정되지 않은 것처럼 평가됩니다. 이러한 경로는 시작되는 절대 파일 경로와 일치할 / 수 없습니다.