Azure Repos란?
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Azure Repos는 코드를 관리하는 데 사용할 수 있는 버전 제어 도구 세트입니다. 소프트웨어 프로젝트의 크기에 관계없이 버전 제어를 가능한 한 빨리 사용하는 것이 좋습니다.
버전 제어 시스템은 시간이 지남에 따라 코드에서 변경한 내용을 추적하는 데 도움이 되는 소프트웨어입니다. 코드를 편집할 때 버전 제어 시스템에 파일의 스냅샷 수행하도록 지시합니다. 버전 제어 시스템에서는 이 스냅샷을 영구 저장하므로 필요할 때 불러올 수 있습니다. 버전 제어를 사용하여 작업을 저장하고 팀 전체에서 코드 변경 내용을 조정합니다.
단일 개발자인 경우에도 버전 제어를 사용하면 버그를 수정하고 새로운 기능을 개발할 때 체계적으로 구성할 수 있습니다. 버전 제어는 쉽게 모든 버전의 코드를 검토하고 롤백할 수 있도록 개발 기록을 유지합니다.
Azure Repos는 다음과 같은 두 가지 유형의 버전 제어를 제공합니다.
- Git: 분산 버전 제어
- Team Foundation 버전 제어(TFVC): 중앙 집중식 버전 제어
Git
Git은 오늘날 가장 일반적으로 사용되는 버전 제어 시스템으로, 빠른 속도로 버전 제어 표준으로 자리잡고 있습니다. Git은 분산 버전 제어 시스템입니다. 즉, 코드의 로컬 복사본이 완전한 버전 제어 리포지토리입니다. 이러한 모든 기능의 로컬 리포지토리 덕분에 오프라인으로 또는 원격으로 쉽게 작업할 수 있습니다. 작업을 로컬로 커밋한 다음 리포지토리 복사본을 서버의 사본과 동기화합니다.
Azure Repos의 Git은 표준 Git입니다. 선택한 클라이언트와 도구(Windows용 Git, Mac용 Git, 파트너의 Git 서비스, Visual Studio 및 Visual Studio Code와 같은 도구)를 사용할 수 있습니다.
즐겨 찾는 개발 환경 커넥트
즐겨 찾는 개발 환경을 Azure Repos에 커넥트 리포지토리에 액세스하고 작업을 관리합니다. 다음을 사용하여 코드를 공유합니다.
끌어오기 요청으로 코드 검토
팀과 함께 코드를 검토하고 변경 내용이 병합되기 전에 테스트를 빌드하고 통과하는지 확인합니다.
정책을 사용하여 분기 보호
리포지토리에는 팀이 항상 양호한 상태(예: 분기)에 의존하는 몇 가지 중요한 분기가 있습니다 master
.
이러한 분기를 변경하려면 끌어오기 요청이 필요합니다.
변경 내용을 보호된 분기 직접 푸시하는 개발자는 푸시가 거부됩니다.
끌어오기 요청에 조건을 추가하여 키 분기에서 더 높은 수준의 코드 품질을 적용합니다. 병합된 코드의 클린 빌드 및 여러 검토자의 승인은 키 분기를 보호하기 위해 설정할 수 있는 추가 요구 사항입니다.
끌어오기 요청 상태를 사용하여 끌어오기 요청 워크플로 확장
끌어오기 요청 및 분기 정책을 사용하면 팀에서 코드 검토 및 자동화된 빌드 실행과 관련된 많은 모범 사례를 적용할 수 있습니다. 그러나 많은 팀에는 코드에서 수행할 다른 요구 사항과 유효성 검사가 있습니다. 이러한 개별 및 사용자 지정 요구 사항을 충족하기 위해 Azure Repos는 끌어오기 요청 상태 제공합니다.
끌어오기 요청 상태 PR 워크플로에 통합됩니다. 이를 통해 외부 서비스는 간단한 성공/실패 정보를 끌어오기 요청과 연결하여 코드 변경에 프로그래밍 방식으로 로그오프할 수 있습니다.
포크를 사용하여 코드 격리
포크는 원래 코드베이스에서 실험적, 위험 또는 기밀 변경 내용을 격리하는 좋은 방법입니다. 포크는 모든 파일, 커밋, 분기(선택 사항)를 포함하는 리포지토리의 전체 복사본입니다. 새 포크는 누군가가 원래 리포지토리를 복제한 다음 빈 새 리포지토리로 푸시하는 것처럼 작동합니다.
포크를 만든 후에는 끌어오기 요청이 전달되지 않는 한 새 파일, 폴더 및 분기가 리포지토리 간에 공유되지 않습니다. 이러한 변경 내용을 공유할 준비가 되면 끌어오기 요청을 사용하여 변경 내용을 원래 리포지토리로 다시 푸시하는 것이 쉽습니다.
TFVC
Azure Repos는 TFVC(Team Foundation 버전 제어)도 지원합니다. TFVC는 중앙 집중식 버전 제어 시스템입니다. 일반적으로 팀 멤버는 자신의 고유 개발 컴퓨터에 각 파일 버전 하나만 보유합니다. 기록 데이터는 서버에만 보관됩니다. 분기는 경로에 기반을 두며 서버에서 만들어집니다.
프로젝트를 만들고, 작업 영역을 구성하고, 코드를 검토하고 공유하여 시작합니다. 다음 클라이언트 또는 IDE 중 하나를 사용할 수 있습니다.