버전 제어 서버에 파일 추가

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

Visual Studio 2019 | Visual Studio 2022

Visual Studio 솔루션 탐색기 사용하고 프로젝트가 버전 제어를 받고 있는 경우 버전 제어에 파일을 추가하는 것은 종종 자동입니다. 그러나 경우에 따라 버전 제어에 파일 및 프로젝트를 추가하려면 추가 단계를 수행해야 합니다.

전제 조건

Visual Studio 에서 버전 제어에 파일을 추가하려면 개발자 컴퓨터에서 작업 영역을 설정합니다.

Important

이러한 절차는 로컬 작업 영역을 사용하는 경우에만 적용됩니다. 로컬 작업 영역을 사용하면 새 파일이 보류 중인 변경 내용으로 자동으로 검색됩니다. 반대로 서버 작업 영역에 저장한 파일은 보류 중인 변경 내용으로 표시되지 않고 추가 및 검사.

버전 제어에서 새 코드 프로젝트 및 솔루션 만들기

새 Visual Studio 프로젝트를 만들고 버전 제어에 추가하여 사용자와 팀이 작성하는 첫 번째 코드 줄부터 버전 제어의 모든 이점을 즉시 누릴 수 있습니다.

  1. Visual Studio 에서 Azure DevOps 프로젝트에 연결합니다.

  2. 새 파일>프로젝트를 선택하거나 Ctrl+Shift+N을 누릅니다.

  3. 새 프로젝트 만들기 화면에서 만들려는 코드 프로젝트의 유형을 선택한 다음, 다음을 선택합니다.

    새 프로젝트 만들기 대화 상자의 스크린샷

  4. 새 프로젝트 구성 화면의 프로젝트 이름 아래에서 프로젝트의 이름을 입력합니다.

  5. 위치 아래에서 개발 머신설정할 때 만든 작업 영역에서 c:\code\SiteApp\Main\과 같은 로컬 작업 폴더의 경로를 지정합니다.

  6. 나머지 설정은 그대로 두고 다음을 선택합니다.

    새 프로젝트 구성 대화 상자의 스크린샷

  7. 추가 정보 화면에서 필요에 따라 설정을 변경한 다음 만들기를 선택합니다.

  8. 프로젝트가 만들어지면 솔루션 탐색기 Ctrl+Alt+L을 눌러 열 수 있습니다.

    솔루션 탐색기 새 코드 프로젝트의 스크린샷

  9. 솔루션 탐색기 솔루션 이름을 마우스 오른쪽 단추로 클릭하고 상황에 맞는 메뉴에서 소스 제어에 솔루션 추가를 선택합니다.

  10. 팀 탐색기 창으로 전환하고 체크 인선택하여 프로젝트에서 소스 제어로 검사.

기존 솔루션 및 코드 프로젝트를 버전 제어에 배치

버전 제어에 기존 솔루션을 추가하려면 모든 솔루션 파일을 작업 영역으로 이동한 다음 Visual Studio에 추가합니다.

  1. Visual Studio 에서 Azure DevOps 프로젝트에 연결합니다.

  2. 다른 Windows>소스 제어 탐색기 보기를>선택합니다.

  3. 소스 제어 탐색기에서 솔루션에 대한 논리적 부모 폴더(예: $/SiteApp/Main)로 이동합니다. 여기서 SiteApp은 프로젝트의 이름입니다. 로컬 폴더의 이름을 지정하는 방법에 대한 자세한 내용은 폴더 이름 최적화를 참조하세요.

  4. 로컬 경로 옆에 있는 창 맨 위에 있는 링크를 선택하여 Windows 파일 탐색기 부모 폴더를 엽니다. 링크에 매핑되지 않음이 표시되면 작업 영역 매핑에 대한 자세한 내용은 작업 영역 만들기 및 작업을 참조하세요.

  5. 파일 탐색기 솔루션이 포함된 폴더를 부모 폴더로 이동합니다.

  6. Visual Studio에서 파일>열기 프로젝트를 선택하고 솔루션으로 이동하여 엽니다.

  7. 솔루션 탐색기 솔루션 이름을 마우스 오른쪽 단추로 클릭한 다음 상황에 맞는 메뉴에서 소스 제어에 솔루션 추가를 선택합니다.

  8. 솔루션 이름을 다시 마우스 오른쪽 단추로 클릭하고 상황에 맞는 메뉴에서 체크 인 선택합니다.

  9. 팀 탐색기의 보류 중인 변경 내용 페이지에서 제외된 변경 내용 섹션에 검색된 링크가 표시되면 링크를 선택합니다.

  10. 후보 변경 내용 승격 대화 상자에는 솔루션의 코드 프로젝트에서 참조하지 않는 파일이 나열됩니다. 검사 파일을 선택하고, 검사 않을 파일의 선택을 취소한 다음, [승격]을 선택하여 선택한 파일을 포함된 변경 내용으로 이동합니다. 나열된 파일에 검사 않으려면 [취소]를 선택하여 대화 상자를 닫습니다.

  11. 체크 인 선택합니다.

자세한 내용은 보류 중인 변경 내용 제출을 참조하세요.

버전 제어에 하나 이상의 파일 추가

Visual Studio 솔루션 탐색기 코드 프로젝트에 파일을 추가하면 시스템이 자동으로 파일을 버전 제어에 추가합니다. 코드 프로젝트에서 참조하지 않는 파일을 추가할 수도 있습니다.

버전 제어에 하나 이상의 파일 자동 추가

  1. Visual Studio 에서 Azure DevOps 프로젝트에 연결합니다.

  2. 다른 Windows>소스 제어 탐색기 보기를>선택합니다.

  3. 소스 제어 탐색기에서 파일 또는 폴더를 추가할 폴더로 이동합니다.

  4. 원본 제어 탐색기 창 맨 위에 있는 로컬 경로링크를 선택하여 Windows 파일 탐색기 대상 폴더를 엽니다. 링크에 매핑되지 않음이 표시되면 작업 영역 만들기 및 작업, 작업 영역 매핑을 참조하세요.

  5. 파일 탐색기 파일 또는 폴더를 대상 폴더로 이동합니다.

  6. Visual Studio 팀 탐색기의 보류 중인 변경 내용 페이지에서 제외된 변경 내용 아래에 검색된 링크가 표시되면 링크를 선택합니다.

  7. 후보 변경 내용 승격 대화 상자에서 검사 파일만 선택한 다음 승격을 선택합니다. 나열된 파일에 검사 않으려면 [취소]를 선택합니다.

  8. 체크 인 선택합니다.

자세한 내용은 보류 중인 변경 내용 제출을 참조하세요.

수동으로 버전 제어에 파일 추가

버전 제어에 파일을 수동으로 추가할 수도 있습니다.

  1. Visual Studio에서 다른 Windows>소스 제어 탐색기 보기를>선택합니다.

  2. 소스 제어 탐색기에서 파일을 추가할 폴더로 이동합니다.

    Important

    이 폴더가 검사 있는지 확인합니다. 새 폴더를 만드는 경우 마우스 오른쪽 단추로 클릭하고 체크 인 선택한 다음, 계속하기 전에 새 폴더에 검사.

  3. Windows 파일 탐색기 파일을 Visual Studio 소스 제어 탐색기 창으로 끌어옵니다.

  4. 팀 탐색기의 보류 중인 변경 내용 페이지에서 포함된 항목추가하려는 모든 파일이 나열되어 있는지 확인한 다음, 체크 인 선택합니다.

코드에 포함되지 않은 이진 파일 사용

많은 팀은 코드 솔루션 외부에 있는 이진 파일에 의존합니다. 일반적으로 이러한 이진 파일은 팀이 타사에서 라이선스를 부여한 라이브러리의 일부이거나 이진 파일이 같은 회사의 다른 팀에서 온 것입니다. 예를 들어 팀 A는 팀 B가 생성하는 이진 파일에 따라 달라지고 각 팀은 서로 다른 프로젝트 컬렉션에서 작동합니다. 팀 B는 이진 파일을 버전 제어로 검사 A 팀에 전달합니다.

NuGet 패키지를 사용하면 팀이 종속성을 보다 쉽게 관리하고 이진 파일을 최신 상태로 유지할 수 있습니다. Azure Artifacts를 사용하여 Azure DevOps Server 또는 Azure DevOps Services에 NuGet 패키지를 저장할 수 있습니다.

외부 이진 파일을 저장하는 데 사용해야 하는 폴더 및 작업 영역 구조는 솔루션이 이러한 라이브러리에 종속되는 방식에 따라 달라집니다.

폴더 또는 분기 구조에 이진 파일 추가

솔루션 폴더가 포함된 동일한 부모 폴더에 외부 이진 파일을 배치하는 경우 모든 솔루션의 모든 코드 프로젝트는 동일한 상대 경로가 있는 라이브러리를 참조할 수 있습니다. 예를 들어 팀은 다음 폴더 구조를 사용할 수 있습니다.

기본 부모 폴더 내의 라이브러리 폴더를 보여 주는 다이어그램

그런 다음 모든 코드 프로젝트는 상대 경로를 ../../Lib사용하여 라이브러리 폴더를 참조할 수 있습니다.

팀이 서로 다른 버전의 이진 파일이 필요한 별도의 작업을 격리해야 하는 경우 솔루션 폴더와 함께 라이브러리 폴더를 분기할 수 있습니다. 예를 들어 앱 버전 1은 라이브러리 버전 1을 활용합니다. 일부 개발자는 다음 버전에서 작업하므로 버전 2를 사용하지만 다른 개발자는 업그레이드할 준비가 되지 않았습니다. 분기를 사용하여 이러한 상황을 관리할 수 있습니다.

분기 구조 내의 라이브러리 폴더를 보여 주는 다이어그램

작업 영역을 사용하여 이진 파일 매핑

일부 회사는 외부 라이브러리에 대한 보다 복잡한 종속성을 관리해야 합니다. 예를 들어 여러 프로젝트에는 공통 라이브러리 집합에 대한 종속성이 다른 솔루션이 포함될 수 있습니다. 이러한 경우 전용 프로젝트에 외부 라이브러리를 저장할 수 있습니다. 다양한 프로젝트에 대한 참가자는 필요한 라이브러리가 포함된 폴더에 매핑됩니다.

예를 들어 FabrikamFiber는 다음 프로젝트, 분기 및 폴더 구조를 배치합니다.

전용 프로젝트에 저장된 라이브러리를 보여 주는 다이어그램

개발자는 각각 필요한 라이브러리에 매핑되는 두 가지 작업을 위해 두 개의 작업 영역이 있는 개발 머신을 설정할 수 있습니다.

라이브러리에서 작업 영역이 매핑되는 방법을 보여 주는 다이어그램

무시되는 파일 버전 컨트롤 사용자 지정

기본적으로 버전 제어는 .dll 파일과 같은 특정 형식의 파일을 무시합니다. 로컬 작업 영역에 매핑된 폴더에 무시된 파일을 추가하거나 무시된 파일을 소스 제어 탐색기로 끌어오면 팀 탐색기의 보류 중인 변경 내용 페이지에서 제외된 항목 아래에 파일이 표시됩니다.

구성을 적용할 폴더에 .tfignore 텍스트 파일을 배치하여 무시할 파일 종류를 구성할 수 있습니다. .tfignore 파일 효과는 재귀적이지만 하위 폴더의 .tfignore 파일은 부모 폴더의 .tfignore 파일을 재정의합니다.

.tfignore 파일에 대한 규칙

.tfignore 파일에는 다음 규칙이 적용됩니다.

  • # 은 주석 줄을 시작합니다.
  • *? wild카드 지원됩니다.
  • filepec은 문자 앞에 접두 \ 사를 지정하지 않는 한 재귀적입니다.
  • ! 는 filespec을 무효화하므로 패턴과 일치하는 파일은 무시되지 않습니다.

예제 .tfignore 파일

######################################
# Ignore .cpp files in the ProjA subfolder and all its subfolders
ProjA\*.cpp
#
# Ignore .txt files in this folder
\*.txt
#
# Ignore .xml files in this folder and all its sub-folders
*.xml
#
# Ignore all files in the Temp sub-folder
\Temp
#
# Don't ignore .dll files in this folder nor in any of its subfolders
!*.dll

.tfignore 파일 만들기 및 사용

이전 규칙을 사용하는 .tfignore 텍스트 파일을 수동으로 만들거나 보류 중인 변경 내용 페이지에서 제외된 변경 내용을 감지하면 .tfignore 파일을 자동으로 생성할 수 있습니다.

  1. 팀 탐색기의 보류 중인 변경 내용 페이지에서 제외된 변경 내용 섹션에서 검색된 링크를 선택합니다.
  2. 후보 변경 내용 승격 대화 상자에서 무시하려는 파일을 마우스 오른쪽 단추로 클릭하고 이 로컬 항목 무시, 확장명으로 무시, 파일 이름으로 무시 또는 상황에 맞는 메뉴에서 폴더로 무시를 선택합니다.
  3. 취소를 선택하여 대화 상자를 닫습니다.
  4. 보류 중인 변경 내용 페이지의 포함된 변경 내용 섹션에 .tfignore 파일이 나타납니다. 이 파일을 열고 필요에 맞게 수정할 수 있습니다.

.tfignore 파일은 포함된 보류 중인 변경 내용으로 추가되므로 사용자가 만드는 규칙은 파일을 가져오는 모든 사용자에게 자동으로 적용됩니다.

명령 프롬프트에서 작업

자동화된 프로세스의 경우 또는 명령 프롬프트를 사용하려는 경우 이 문서의 절차 대신 tf.exe 명령을 추가할 수 있습니다. 이 add 명령은 로컬 컴퓨터의 작업 영역에서 서버로 파일을 업로드합니다.