분기 폴더 및 파일
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
분기를 사용하여 다음 목표를 달성할 수 있습니다.
- 동일한 코드베이스에서 여러 팀의 동시 작업을 관리합니다.
- 코드베이스에 대한 다양한 변경 집합에 의해 발생하는 위험을 격리합니다.
- 스냅샷 후 후속 격리된 변경(예: 릴리스 분기 만들기)을 지원합니다.
예를 들어 다음 그림에서는 DinnerNow 회사가 비즈니스 요구 사항을 충족하기 위해 개발한 분기 구조를 보여 줍니다.
기능 팀 A와 기능 팀 B는 각각 별도의 분기에서 작업을 수행합니다. 팀이 작업을 통합할 준비가 되면 분기를 Dev 분기에 병합합니다. 개발 분기의 빌드가 안정적이고 테스트할 준비가 되면 팀은 개발 분기를 테스트 분기에 병합합니다.
각 버전이 릴리스되면 기본 분기는 Version1 분기 및 Version2 분기와 같은 새 버전 분기로 분기됩니다. 이 전략에 따라 회사는 필요한 경우 제품의 각 이전 버전을 개별적으로 개선하거나 수정할 수 있습니다.
이 문서에서 설명한 대로 Visual Studio 소스 제어 탐색기 또는 명령 프롬프트의 branch
명령을 사용하여 분기 작업을 수행할 수 있습니다. 자세한 내용은 분기 명령을 참조 하세요.
팁
분기는 파일의 병렬 버전 집합을 만들기 위한 중요하고 강력한 기술입니다. 그러나 분기를 사용하면 프로젝트에 복잡성과 비용이 추가될 수 있습니다. 예를 들어 두 분기를 병합할 때 충돌을 해결해야 할 수 있습니다.
분기를 만들기 전에 레이블을 적용하여 요구 사항을 더 잘 충족할 수 있는지 여부를 고려해야 합니다. 레이블을 적용하면 파일 상태를 쉽고 빠르게 스냅샷 나중에 해당 상태에서 파일을 검색하거나 빌드할 수 있습니다. 자세한 내용은 레이블을 사용하여 파일 스냅샷 가져옵니다.
필수 조건
- 폴더를 분기로 변환하려면 분기 관리 권한을 허용으로 설정해야 합니다.
- 분기를 분기하려면 분기 관리 권한을 원본 및 대상 분기의 경로를 허용으로 설정해야 합니다. 대상 분기 경로에 대한 병합 권한은 허용으로 설정해야 합니다.
- 폴더 또는 파일을 분기하려면 대상 경로에 대한 체크 아웃 권한과 병합 권한을 허용으로 설정해야 합니다.
자세한 내용은 기본 TFVC 권한을 참조 하세요.
폴더를 분기로 변환
분기는 폴더와 다릅니다. 다음 그림에서는 Visual Studio 소스 제어 탐색기에서 DinnerNow 폴더 구조의 최상위 수준을 보여 줍니다.
그림에서 볼 수 있듯이 폴더를 사용하여 프로젝트의 버전 제어 계층 내에서 분기를 구성할 수 있습니다. 그러나 폴더와 분기는 모양이 다르고 기능이 다릅니다. 폴더 또는 분기를 마우스 오른쪽 단추로 클릭하고 고급>속성을 선택하면 다양한 정보와 다양한 기능이 표시됩니다.
분기 작업을 수행할 때 분기는 폴더에 비해 중요한 이점이 있습니다. 분기는 분기 구조 및 변경 집합이 병합된 위치에 대한 추가 가시성을 제공하는 버전 제어 기능을 지원합니다. 폴더 간에 분기하고 병합할 수 있지만 팀의 모범 사례는 분기 간에만 분기하고 병합하는 것입니다. 다음 절차에서는 폴더를 분기로 변환하는 방법을 설명합니다.
Important
변환하려는 폴더가 서버에 있는지 확인합니다. 소스 제어 탐색기의 폴더 옆에 보류 중인 추가 아이콘 이 나타나면 폴더를 마우스 오른쪽 단추로 클릭하고 체크 인 보류 중인 변경 내용을 선택합니다.
소스 제어 탐색기에서 변환할 폴더를 마우스 오른쪽 단추로 클릭하고 분기 및 분기로 변환 병합을> 선택합니다.
폴더를 분기로 변환 대화 상자에서 다음을 수행합니다.
- 소유자 필드에 필요에 따라 이 분기를 소유한 사람의 이름을 입력합니다. 이 필드는 정보 전용이며 사용 권한을 부여하지 않습니다.
- 설명 필드에 선택적으로 정보를 입력하여 다른 팀 구성원이 이 분기를 사용하거나 해당 용도를 이해하는 데 도움이 됩니다.
- 이미 분기한 폴더를 변환하는 경우 분기된 모든 자식 폴더 검사 상자에 대해 재귀적으로 이 변환을 수행합니다. 이 옵션은 한 폴더에서 분기된 모든 폴더를 분기로 변환합니다.
변환을 선택합니다.
Important
분기를 중첩할 수 없습니다. 따라서 폴더가 포함되거나 분기에 포함된 경우 폴더를 분기로 변환할 수 없습니다. 예를 들어 다음 그림에서는 FeatureTeamA 분기의 부모나 자식을 분기로 변환할 수 없음을 보여 줍니다.
폴더를 분기로 변환한 후 팀이 분기 구조를 변경하기로 결정한 경우 폴더를 다시 폴더로 변환할 수 있습니다.
분기를 폴더로 변환
- 소스 제어 탐색기에서 변환할 분기를 선택합니다.
- Visual Studio 파일 메뉴에서 원본 제어>분기 및 병합>을 폴더로 변환한 다음, 예를 선택합니다.
분기 분기
폴더를 분기로 변환한 후 해당 분기에서 다른 분기를 만들 수 있습니다. 다음 절차에서는 Visual Studio를 사용하여 분기를 분기하는 방법을 보여줍니다. 명령 프롬프트에서 이 작업을 수행하려면 분기 명령을 참조하세요.
소스 제어 탐색기에서 분기할 분기를 마우스 오른쪽 단추로 클릭하고 분기 및 병합 분기를>선택합니다.
분기 이름>에서 분기 <대화 상자의 버전에서 분기에서 선택적으로 드롭다운하고 By 목록에서 옵션을 선택합니다.
- 최신 버전은 버전 제어의 최신 버전에 대한 분기를 만듭니다.
- 변경 집합을 사용하면 변경 집합 상자에 변경 집합 수를 입력하거나 줄임표를 선택하여 변경 집합 찾기 대화 상자를 열 수 있습니다. 자세한 내용은 변경 집합 찾기 및 보기를 참조 하세요.
- 날짜 상자에서 날짜를 입력하거나 선택할 수 있습니다.
- 레이블을 사용하면 레이블 을 입력하거나 찾을 수 있습니다. 자세한 내용은 레이블을 사용하여 파일 스냅샷 가져옵니다.
- 작업 영역 버전을 사용하면 다른 작업 영역에서 버전에 대한 분기를 만들 수 있습니다.
대상 분기 이름 아래에서 새 분기의 경로를 지정하거나 찾아서 선택합니다.
분기를 선택합니다. 분기가 만들어지고 소스 제어 탐색기에 나타납니다.
참고 항목
대부분의 버전 제어 작업과 달리 이 작업은 보류 중인 변경 사항을 생성하지 않습니다. 대신 작업이 즉시 완료되고 실행 취소할 수 없습니다.
폴더 또는 파일 분기
폴더 또는 파일을 직접 분기할 수 있지만 그렇게 하지 않는 것이 좋습니다. 파일 또는 폴더를 직접 분기하는 경우 분기 계층 구조를 보거나 변경 집합을 추적할 수 없습니다. 이 문서의 앞부분에서 설명한 대로 분기 간에만 분기하고 병합하는 것이 가장 좋습니다.
그러나 폴더 또는 파일을 분기해야 하는 특별한 필요성이 있는 경우 다음 절차를 사용할 수 있습니다. 명령 프롬프트에서 이 작업을 수행하려면 분기 명령을 참조하세요.
소스 제어 탐색기에서 분기할 폴더 또는 파일을 마우스 오른쪽 단추로 클릭하고 분기 및 병합 분기를>선택합니다.
분기 대화 상자의 대상 상자에서 새 분기의 위치와 이름을 수정하거나 찾아보기를 선택하여 대상을 찾아 선택합니다.
버전에서 분기에서 선택적으로 드롭다운하고 By 목록에서 옵션을 선택합니다.
- 최신 버전은 버전 제어의 최신 버전에 대한 분기를 만듭니다.
- 변경 집합을 사용하면 변경 집합 상자에 변경 집합 수를 입력하거나 줄임표를 선택하여 변경 집합 찾기 대화 상자를 열 수 있습니다. 자세한 내용은 변경 집합 찾기 및 보기를 참조 하세요.
- 날짜 상자에서 날짜를 입력하거나 선택할 수 있습니다.
- 레이블을 사용하면 레이블 을 입력하거나 찾을 수 있습니다. 자세한 내용은 레이블을 사용하여 파일 스냅샷 가져옵니다.
- 작업 영역 버전을 사용하면 다른 작업 영역에서 버전에 대한 분기를 만들 수 있습니다.
필요에 따라 작업 영역에 대상 항목 다운로드를 선택하여 로컬 작업 영역에서 버전 제어 항목의 복사본을 만듭니다. 로컬 복사본이 필요하지 않고 컴퓨터에 많은 항목을 다운로드하지 않고 성능을 향상시키려면 검사 상자를 선택 취소합니다.
확인을 선택합니다. 분기가 만들어지고 소스 제어 탐색기에 나타납니다.
참고 항목
대상 항목을 작업 영역에 다운로드하도록 선택한 경우 폴더 찾아보기 창이 나타나고 지정한 로컬 폴더가 현재 작업 영역에 매핑되지 않습니다. 폴더를 찾거나 새 폴더 만들기를 선택하고 버전 제어 항목과 동기화할 폴더를 지정한 다음 확인을 선택합니다.