다음을 통해 공유


브랜치 및 브랜치 정책 정보

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

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

  • 작업의 진행 상황을 주 분기의 완료된 작업에서 격리하십시오.
  • 메인에 도달하기 전에 변경 사항이 빌드되도록 보장
  • 특정 분기에 기여할 수 있는 사용자 제한
  • 분기를 만들 수 있는 사용자 및 분기에 대한 명명 지침 적용
  • 모든 코드 변경에 적합한 검토자를 자동으로 포함
  • 필요한 코드 검토자를 사용하여 모범 사례 적용

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

정책

기본값

설명


끄기

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

끄기

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

끄기

끌어오기 요청에 대한 모든 댓글이 해결되었는지 확인하세요.

끄기

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

끄기

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

끄기

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

끄기

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

Git 분기 전략 채택

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

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

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

  1. 새로운 모든 기능과 버그 수정에 기능 분기를 사용합니다.
  2. 끌어오기 요청을 사용하여 기능 브랜치를 메인 브랜치에 병합합니다.
  3. 고품질 up-to-date 주요 브랜치를 유지합니다.

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

브랜치에서 작업 생성하기

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

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

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

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

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

다른 Git 워크플로, 예를 들어 코드 공유 및 끌어오기 요청을 통한 코드에 대한 검토 는 모두 분기를 통해 작동합니다.

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

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

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

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

업스트림 추적을 사용하면 푸시끌어오기를 통해 변경 사항을 다른 사용자와 간편하게 동기화할 수 있습니다.

Git에서 main 분기에서 파생된 분기의 시각화

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

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

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

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

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

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

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

분기에서 커밋을 체리 선택을 변경 내용을 올바른 분기로 병합할 합니다.

브랜치를 사용하여 개발을 관리

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

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

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

작업을 분기로 격리하는 경우, 시스템에 하나 이상의 리포지토리가 필요하지 않습니다.

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

안내선 분기 방법

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