분기 및 분기 정책 정보

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

분기 정책은 Git 워크플로의 중요한 부분이며 다음을 수행할 수 있습니다.

  • 기본 분기의 완료된 작업에서 진행 중인 작업 격리
  • 변경 내용이 기본 전에 빌드 보장
  • 특정 분기에 기여할 수 있는 사용자 제한
  • 분기를 만들 수 있는 사용자 및 분기에 대한 명명 지침 적용
  • 모든 코드 변경에 적합한 검토자를 자동으로 포함
  • 필요한 코드 검토자를 사용하여 모범 사례 적용

다음 표에서는 분기를 사용자 지정하기 위해 정의할 수 있는 정책을 요약합니다. 모든 리포지토리 및 분기 정책 및 설정에 대한 개요는 Git 리포지토리 설정 및 정책을 참조하세요.

정책

기본값

설명


끄기

끌어오기 요청에 대한 지정된 인원의 검토자 승인이 필요합니다.

끄기

풀 요청에 연결된 작업 항목을 확인하여 추적 가능성을 보장합니다.

끄기

끌어오기 요청에 대한 모든 설명이 확인되었는지 검사합니다.

끄기

끌어오기 요청이 완료될 때 사용 가능한 병합 유형을 제한하여 분기 기록을 제어합니다.

끄기

끌어오기 요청 변경 내용을 미리 병합하고 빌드하여 코드의 유효성을 검사하는 정책을 하나 이상 추가합니다. 정책을 사용하거나 사용하지 않도록 설정할 수도 있습니다.

끄기

끌어오기 요청을 완료하기 위해 다른 서비스가 성공적인 상태 게시하도록 요구하는 정책을 하나 이상 추가합니다. 정책을 사용하거나 사용하지 않도록 설정할 수도 있습니다.

끄기

끌어오기 요청이 특정 코드 영역을 변경할 때 자동으로 포함하도록 코드 검토자를 지정하는 정책을 하나 이상 추가합니다. 정책을 사용하거나 사용하지 않도록 설정할 수도 있습니다.

Adopt a Git branching strategy(Git 분기 전략 채택)

리포지토리에는 팀이 항상 양호한 상태(예: 분기)에 의존하는 몇 가지 중요한 분기가 있습니다 main .

이러한 분기를 변경하려면 끌어오기 요청이 필요합니다. 개발자가 보호된 분기에 변경 내용을 직접 푸시하면 푸시가 거부됩니다.

다음 세 가지 개념에서 전략을 빌드하여 분기 전략을 단순하게 유지합니다.

  1. 새로운 모든 기능과 버그 수정에 기능 분기를 사용합니다.
  2. 끌어오기 요청을 사용하여 기능 분기 기본 분기에 병합합니다.
  3. 고품질의 최신 기본 분기를 유지합니다.

이러한 개념을 확장하고 모순을 방지하는 전략은 일관되고 따라하기 쉬운 팀의 버전 제어 워크플로를 생성합니다.

분기에서 작업 만들기

Git 분기는 커밋의 정확한 기록을 유지하는 작은 참조에 지나지 않으므로 만들기가 저렴합니다.

분기 변경 내용을 커밋해 도 다른 분기에는 영향을 주지 않습니다. 변경 내용을 기본 프로젝트에 병합하지 않고도 다른 사용자와 분기를 공유할 수 있습니다.

새 분기를 만들어 기본 분기 및 기타 작업에서 기능 또는 버그 수정에 대한 변경 내용을 격리할 수 있습니다.

분기는 구조가 단순하므로 빠르고 쉽게 분기 간을 전환할 수 있습니다. Git은 분기로 작업할 때 원본의 복사본을 여러 개 만들지 않으며, 커밋에 저장된 기록 정보를 사용하여 작업을 시작할 때 분기의 파일을 다시 만듭니다.

Git 워크플로기능 및 버그 수정을 관리하기 위해 분기를 만들고 사용해야 합니다.

코드 공유 및 끌어오기 요청으로 코드 검토와 같은 Git 워크플로의 나머지 작업은 모두 분기를 통해 작동합니다.

분기에서 작업을 격리하면 현재 분기를 변경하여 작업 중인 작업을 간단하게 변경할 수 있습니다.

Git 분기는 어떻게 만들어지나요?

명령을 사용하여 분기를 만듭니다 branch . Branch 는 새 분기에 대한 Git에서 참조를 만들고 부모 커밋에 대한 포인터를 다시 생성하므로 Git은 분기에 커밋을 추가할 때 변경 기록을 유지할 수 있습니다.

다른 사용자가 공유한 분기로 작업하는 경우 Git은 업스트림 추적 관계를 유지합니다. 관계는 로컬 리포지토리의 분기를 원격 리포지토리의 해당 분기와 연결합니다.

업스트림 추적을 사용하면 푸시 및 풀을 사용하여 변경 내용을 다른 사용자와 간단하게 동기화할 수 있습니다.

Git에서 기본 분기의 시각적 개체

이 스크린샷에서는 기본 분기에서 만든 새 분기를 볼 수 있습니다. 분기에서 작업이 계속되고 커밋이 두 분기에 모두 추가됩니다.

Git은 항상 현재 로컬 분기에 새 커밋을 추가합니다. 잘못된 분기에 대한 변경 내용을 커밋하지 않도록 커밋하기 전에 작업 중인 분기를 확인합니다.

명령을 사용하여 로컬 분기 간에 교환합니다 checkout . Git은 검사 out 분기의 최신 커밋과 일치하도록 컴퓨터의 파일을 변경합니다.

분기의 작업이 나머지 팀과 공유할 준비가 되면 변경 내용을 푸시 하여 원격 분기를 업데이트합니다.

일반적인 실수는 몇 가지 변경을 수행하고 commit 잘못된 분기에 있다는 것을 깨달은 다음 checkout 올바른 분기로 변경하는 것입니다.

각 분기에 자체 버전의 코드가 있기 때문에 가장 최근의 변경 내용은 파일 시스템에 더 이상 적용되지 않습니다.

Git은 변경한 이전 분기가 아니라 교환한 분기의 마지막 커밋으로 파일의 상태를 다시 가져옵니다.

분기에서 커밋을 체리 선택하거나 변경 내용을 올바른 분기에 병합해야 합니다.

분기를 사용하여 개발 관리

Git은 작업 중인 분기를 추적하고 분기할 때 checkout 파일이 분기의 가장 최근 커밋과 일치하는지 확인합니다.

분기를 활용하면 같은 로컬 Git 리포지토리에 있는 소스 코드의 여러 버전을 동시에 사용할 수 있습니다.

작업할 분기를 Git에 checkout알리고, Git은 해당 분기에 적합한 파일 버전을 설정하는 작업을 수행합니다.

분기를 사용하여 작업을 격리하는 경우 시스템에 두 개 이상의 리포지토리가 필요하지 않습니다.

복제한 후 개발 환경을 한 번 설정합니다. 그런 다음 Git 분기를 사용하여 기능 작업과 버그 수정 간에 전환합니다.

안내선 분기 방법

분기로 작업할 때 일반적인 작업을 완료하는 방법을 알아봅니다.