다중 리포지토리 지원은 Visual Studio 2022 버전 17.4 이상에서 사용할 수 있습니다. 개발자 커뮤니티에서 가장 많이 요청되는 기능 중 하나입니다. Visual Studio에서 한 번에 최대 25개의 활성 Git 리포지토리를 가질 수 있습니다.
다중 리포지토리 지원은 둘 이상의 리포지토리에 걸쳐 있는 솔루션으로 작업하고 동시에 여러 리포지토리에 Git 작업을 적용할 수 있음을 의미합니다. 예를 들어 대규모 웹 프로젝트에서 프런트 엔드, API, 데이터베이스, 설명서 및 다양한 라이브러리 및 종속성에서 수행된 작업을 관리하려면 다른 리포지토리가 필요할 수 있습니다. 다중 리포지토리를 지원하기 전에 여러 개의 Visual Studio 인스턴스를 열어 리포지토리 간에 작업할 수 있습니다. 이제 하나의 Visual Studio 인스턴스를 사용하여 열려 있는 모든 리포지토리를 관리, 보기 및 디버그할 수 있습니다.
비고
실행 중인 다중 리포지토리 지원을 보려면 YouTube의 Visual Studio 비디오에서 여러 Git 리포지토리 사용을 확인하세요.
둘 이상의 GitHub 계정이 있는 경우 쉽게 전환할 수 있습니다. 자세한 내용은 키 집합에 GitHub 계정 추가를 참조하세요. 다른 계정으로 로그인할 때 다른 리포지토리에 액세스할 수 있습니다. Visual Studio는 각 리포지토리에 사용되는 계정을 추적하도록 git 구성을 자동으로 업데이트합니다.
Git 하위 모듈 관리
Visual Studio 18.9부터 Git 하위 모듈에 대한 완전한 지원이 개발자 커뮤니티에서 많이 요청된 기능으로 제공됩니다. IDE를 종료하지 않고 하위 모듈을 관리할 수 있습니다. Visual Studio Git 리포지토리 창의 전용 하위 모듈 섹션에 하위 모듈을 표시합니다.
분기 및 리포지토리 선택기는 부모-자식 리포지토리 계층 구조를 반영합니다. Git 변경 내용 창은 리포지토리별 변경 내용도 식별합니다.
하위 모듈 섹션에서 하위 모듈을 추가, 업데이트 및 삭제할 수 있습니다. Visual Studio 솔루션 또는 폴더를 열 때 자동으로 하위 모듈을 검색하고 활성화합니다. 혼란을 줄이기 위해 하위 모듈은 일반 로컬 리포지토리 목록에 표시되지 않습니다.
기본적으로 Visual Studio 하위 모듈을 읽기 전용으로 처리합니다. 하위 모듈 내에서 변경하려면 도구>옵션>모든 설정>소스 제어>Git 설정을 선택합니다. 여러 리포지토리 자동 활성화의 경우 예, 하위 모듈 포함을 선택합니다. 이 설정은 다음에 솔루션을 로드할 때 적용됩니다.
브랜치 관리 및 변경 사항 추적
다중 리포지토리 지원은 Git 변경 내용 및 Git 리포지토리 창의 기능을 확장합니다. 단일 리포지토리 작업과 동일한 방식으로 다중 리포지토리 시나리오를 관리할 수 있습니다.
확장 분기 만들기 대화 상자를 사용하여 여러 리포지토리에서 분기를 한 번에 만들 수 있습니다.
그런 다음 변경 작업을 진행하면 Git 변경 내용 창이 리포지토리별로 작업을 추적합니다. 일반적으로와 같이 스테이징하고 커밋할 수 있습니다.
상태 표시줄의 분기 선택기와 Git 변경 내용 도구 창에서 분기를 전환할 수 있습니다. 체크 아웃하려는 분기만 선택하면 됩니다. 또한 분기를 마우스 오른쪽 단추로 클릭하여 상황에 맞는 메뉴를 열어 병합, 재지정, 이름 바꾸기, 삭제 및 비교와 같은 내부 루프 분기 작업을 수행할 수 있습니다.
또한 Git 리포지토리 창에서 고급 리 포지토리 및 분기 관리 작업을 수행할 수 있습니다.
네트워크 작업
변경 내용을 커밋할 준비가 되면 네트워크 작업 대화 상자를 사용하면 푸시할 정확한 분기를 쉽게 지정하고 푸시 순서를 변경할 수 있습니다. 이 동일한 대화 상자를 사용하면 가져오기 및 끌어오기와 같은 다른 네트워크 작업을 더 많이 제어할 수 있습니다.
리포지토리 설정
Git 리포지토리 구성 옵션을 사용하여 특정 리포지토리를 구성할 수 있습니다. 예를 들어 인출 중에 원격 분기를 정리할지 여부를 지정할 수 있습니다.
도구>옵션 창에서 모든 설정>소스 제어>Git 설정>Git 리포지토리 구성 섹션을 확장합니다. 리포지토리 드롭다운 목록을 사용하여 구성할 리포지토리를 선택합니다.
Git 설정>Git 전역 구성 섹션의 모든 리포지토리에 대해 동일한 옵션을 구성할 수도 있습니다.
Git 리포지토리 설정 옵션을 사용하여 현재 Visual Studio에서 열려 있는 리포지토리를 구성할 수 있습니다. 예를 들어 인출 중에 원격 분기를 정리할지 여부를 지정할 수 있습니다.
도구>옵션 대화 상자에서 소스 제어>Git 리포지토리 설정>일반 섹션을 확장합니다.
소스 제어>Git 전역 설정 섹션의 모든 리포지토리에 대해 동일한 옵션 중 일부를 구성할 수 있습니다.
솔루션 또는 폴더에서 여러 리포지토리 활성화
솔루션 또는 폴더에서 여러 리포지토리를 활성화할 수 있습니다.
솔루션 사용
여러 리포지토리를 사용하여 솔루션을 만드는 방법은 다음과 같습니다.
이미 리포지토리가 초기화된 기존 솔루션 중 하나를 엽니다.
리포지토리가 초기화된 다른 프로젝트에 대한 .csproj 파일을 선택합니다.
프로젝트가 추가된 후 Visual Studio는 두 번째 리포지토리를 검색하고 활성화합니다. 그런 다음 필요에 따라 프로젝트 참조를 조정할 수 있습니다.
로컬 또는 원격 리포지토리가 있는 다른 프로젝트를 사용하여 기존 솔루션에서 새 프로젝트를 만드는 경우 git init를 사용하여 새 프로젝트를 초기화해야 합니다. 새 프로젝트를 초기화한 후 솔루션의 다른 프로젝트에서 사용하는 리포지토리를 볼 수 있습니다.
폴더 사용
필요한 리포지토리가 독립적이며 동일한 솔루션에 있을 필요가 없는 경우 폴더를 사용하여 열 수 있습니다.
로컬 리포지토리 디렉터리를 동일한 부모 폴더에 배치합니다. Visual Studio 시작 페이지에서 로컬 폴더 열기 옵션을 사용하여 부모 폴더를 엽니다. Visual Studio는 각 리포지토리를 검색하고 활성화한 다음 리포지토리별로 변경 내용을 추적합니다(다음 스크린샷 참조).