다음을 통해 공유


서버에 파일 추가

솔루션 탐색기를 사용하고 있고 프로젝트가 버전 제어로 관리될 때 버전 제어에 종종 자동으로 파일이 추가됩니다. 그러나 버전 제어에 프로젝트를 추가하기 위해 몇 가지 추가 단계를 수행해야 하는 경우도 있습니다.

버전 제어에 파일을 추가하기 전에 앞서 자신의 개발 컴퓨터에 작업 영역을 설치해야 합니다.

수행할 작업

  • 버전 제어에서 새 코드 프로젝트 및 솔루션을 만듭니다.

  • 기존 솔루션과 코드 프로젝트를 버전 제어 아래에 배치

  • 하나 이상의 파일을 버전 제어에 추가합니다.

  • 코드를 빌드하지 않는 타사 이진 파일을 활용하는 방법

  • 버전 제어에서 파일을 무시하는 사용자 지정

  • 명령 프롬프트에서 작업

버전 제어에서 새 코드 프로젝트 및 솔루션을 만듭니다.

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

새 프로젝트 대화 상자

  1. Visual Studio에서 아직 수행하지 않은 경우 팀 프로젝트에 연결을 수행합니다.

  2. 파일, 새로 만들기프로젝트를 선택합니다(키보드: Ctrl+Shift+N).

    새 프로젝트 대화 상자가 나타납니다.

  3. 만들려는 코드 프로젝트의 형식을 선택합니다.

  4. 이름 상자에 코드 프로젝트 이름을 지정합니다.

  5. 솔루션 목록이 나타나면 새 솔루션 만들기를 선택해야 합니다.

  6. 위치 목록에서 개발 컴퓨터를 설정할 때 만든 작업 영역에 있는 적절한 로컬 작업 폴더(예: c:\code\SiteApp\Main\)로 경로를 지정합니다.

    솔루션용 디렉터리 만들기소스 제어에 추가 확인란이 선택되었는지 확인합니다.

  7. 솔루션 탐색기(키보드: Ctrl+Alt+L)에서 볼 수 있는 코드 프로젝트를 만들려면 확인을 선택합니다.

    솔루션 탐색기의 새 코드 프로젝트

  8. 솔루션 탐색기에서 만들거나 수정한 솔루션의 상황에 맞는 메뉴를 연 다음 체크 인을 선택하여 보류 중인 변경 내용 전송 작업을 행합니다.

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

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

참고

솔루션을 버전 제어로 업로드할 때 소스 제어에 솔루션 추가 대화 상자를 사용하지 마십시오.대신 다음 절차를 사용하십시오.

  1. Visual Studio에서 아직 수행하지 않은 경우 팀 프로젝트에 연결을 수행합니다.

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

  3. 소스 제어 탐색기에서 SiteApp이 팀 프로젝트의 이름인 $/SiteApp/Main과 같은 솔루션에 대한 논리적 부모 폴더로 이동합니다. 이 폴더가 부모 폴더로 적합한 이유

  4. 로컬 경로를 선택하여 Windows 탐색기(Windows 8에서는 파일 탐색기)에서 상위 폴더를 엽니다.

    링크 텍스트가 "매핑되지 않은" 경우 어떻게 할까요?

  5. 솔루션을 포함하는 폴더를 부모 폴더로 이동합니다.

  6. Visual Studio에서 파일, 열기, 프로젝트/솔루션을 선택한 다음 프로젝트 열기 대화 상자를 사용하여 솔루션을 엽니다.

  7. 솔루션 탐색기(키보드: Ctrl+Alt+L)에서 솔루션을 선택하고 해당 상황에 맞는 메뉴를 연 다음 소스 제어에 솔루션 추가를 선택합니다.

  8. 솔루션 탐색기에서 솔루션을 선택하고, 해당 상황에 맞는 메뉴를 연 후 체크 인을 선택합니다.

  9. 팀 탐색기에서 보류 중인 변경 내용 페이지가 나타납니다.

  10. 검색된 변경 내용제외된 변경 내용 섹션에 표시됩니까?

    • 아니요: 다음 단계로 건너뜁니다.

    • 예: 검색된 변경 내용 링크를 선택합니다. 변경 후보 승격 대화 상자가 나타납니다. 이 대화 상자에 나열된 파일은 솔루션의 코드 프로젝트에서 참조하지 않습니다. 팀에 이러한 파일이 필요한 경우 파일을 선택한 다음 승격을 선택하여 보류 중인 변경 내용 페이지의 포함된 변경 내용 섹션으로 이동합니다. 자세한 내용은 팀의 코드베이스에 작업 체크 인을 참조하십시오.

  11. 준비되면 보류 중인 변경 내용을 제출합니다.

하나 이상의 파일을 버전 제어에 추가합니다.

솔루션 탐색기를 사용하여 파일을 코드 프로젝트에 추가하면 시스템에서 자동으로 파일을 버전 제어에 추가합니다. 그러나 코드 프로젝트에 의해 참조되지 않는 파일도 추가할 수 있습니다.

자동화된 프로세스를 만들거나 명령 프롬프트를 사용하는 경우 다음 절차를 대신하여 Add 명령를 사용합니다.

하나 이상의 파일을 버전 제어에 자동으로 추가합니다.

로컬 작업 영역을 사용 중인 경우 새 파일이 보류 중인 변경 내용 페이지에 의해 자동으로 검색됩니다.

  1. Visual Studio에서 아직 수행하지 않은 경우 팀 프로젝트에 연결을 수행합니다.

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

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

  4. 로컬 경로를 선택하여 Windows 탐색기(Windows 8에서는 파일 탐색기)에서 대상 폴더를 엽니다.

    파일 및 폴더를 이 폴더로 이동합니다.

    링크 텍스트가 "매핑되지 않은" 경우 어떻게 할까요?

  5. Visual Studio의 팀 탐색기에서 보류 중인 변경 내용을 선택합니다.

  6. 보류 중인 변경 내용 페이지의 제외된 변경 내용 섹션에서 검색된 변경 내용을 선택합니다.

  7. 변경 후보 승격 대화 상자에서 확인할 파일만 선택되었는지 확인한 다음 승격을 선택합니다.

  8. 보류 중인 변경 내용을 제출합니다.

버전 제어에 파일 수동 추가

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

  1. 보기, 다른 창, 소스 제어 탐색기를 선택합니다.

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

    중요

    계속하기 전에 이 폴더가 체크 인되었는지 확인합니다.폴더를 바로 만드는 경우 상황에 맞는 메뉴를 열고 체크 인을 선택한 다음 진행되기 전에 새로운 폴더를 체크 인합니다.

  3. Windows 탐색기(또는 파일 탐색기)의 폴더 또는 파일을 소스 제어 탐색기의 폴더로 끌어 놓습니다.

  4. 소스 제어에 추가 대화 상자가 나타나면 추가할 모든 파일이 선택되었는지 확인한 후 항목 포함을 선택합니다.

  5. 마침을 선택합니다.

  6. 팀 탐색기에서 보류 중인 변경 내용 페이지가 나타나면 추가하려는 이진 파일이 포함된 변경 내용 섹션에 표시되는지 확인합니다. 체크 인을 선택합니다.

코드를 빌드하지 않는 타사 이진 파일을 활용하는 방법

많은 팀이 코드를 관리하는 솔루션으로 빌드되지 않은 이진 파일을 사용하는 코드를 개발합니다. 일반적으로 이러한 이진 파일은 팀이 타사로부터 사용 허가를 받은 라이브러리의 일부입니다.

이러한 이진 파일을 같은 회사의 다른 팀에서 가져오는 경우도 있습니다. 예를 들어, 팀 A는 팀 B가 생성한 이진 파일에 참조하고 각 팀은 몇 가지 이유로 다른 팀 프로젝트 컬렉션에서 작업을 실시해야 합니다. 따라서 팀 B가 팀 A에 이진 파일을 전달하고, 팀 A는 버전 제어로 체크 인합니다.

개발 컴퓨터와 빌드 서버가 인터넷에 액세스하는 경우 NuGet을 사용하면 팀이 좀 더 쉽게 종속성을 관리하고 이진 파일을 업데이트합니다.NuGet을 사용하기로 결정하더라도 코드 기록 버전의 복제 및 생성을 위해서는 여전히 이진 파일을 버전 제어에 추가합니다.

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

폴더 또는 분기 구조 안에 이진 파일을 추가합니다.

동일한 상위 폴더에 타사의 이진 파일을 배치하는 경우 솔루션에 있는 모든 코드 프로젝트는 라이브러리를 동일한 상대 경로와 참조합니다.

예를 들어, 팀은 이 폴더 구조를 사용합니다.

기본 부모 폴더 내의 라이브러리 폴더

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

팀 프로젝트에서 나중에 이진 파일의 다른 버전을 필요로 하는 별도 활동을 분리할 필요가 있을 경우 솔루션 폴더와 함께 라이브러리 폴더를 분기할 수 있습니다.

예를 들어, 버전 1 응용 프로그램은 라이브러리의 버전 1을 활용합니다. 데이터 액세스 팀의 일부 개발자는 다음 버전을 개발하면서 버전 2를 활용합니다. 하지만 다른 팀은 아직 업그레이드할 준비가 되지 않습니다. 분기를 사용하여 이런 종류의 상황을 관리할 수 있습니다.

분기 구조체 내의 라이브러리 폴더

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

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

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

전용 팀 프로젝트에 저장된 라이브러리

Raisa는 각각 그녀가 필요한 라이브러리에 매핑한 두 가지 다른 활동에 대한 영역 두 개를 개발 컴퓨터에 설정합니다.

라이브러리의 작업 영역 맵

버전 제어에서 파일을 무시하는 사용자 지정

기본적으로 .dll 파일과 같은 특정 형식의 파일은 버전 제어에서 무시됩니다. 그 결과는 다음과 같습니다.

  • 무시된 파일을 로컬 작업 영역에 매핑된 폴더에 추가하면 팀 탐색기의 보류 중인 변경 내용 페이지에 표시되지 않습니다.

  • 예를 들어, 소스 제어 탐색기로 끌어서 소스 제어에 추가 대화 상자를 사용하여 무시된 파일을 추가하려고 하면 제외된 항목 탭에 해당 파일이 자동으로 표시됩니다.

규칙을 적용하려는 폴더에 .tfignore라는 텍스트 파일을 배치하여 어떤 종류의 파일을 무시할지 구성할 수 있습니다. .Tfignore 파일의 효과는 재귀적입니다. 그러나 상위 폴더에 .tfignore 파일의 효과를 재정의하기 위해 하위 폴더에 .tfignore 파일을 만들 수 있습니다.

.tfignore 파일 규칙

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

  • #은 명령줄을 시작합니다.

  • * 및 ? 와일드카드가 지원됩니다.

  • filespec은 \ 문자가 접두사로 붙지 않는 경우 재귀적입니다.

  • !는 filespec을 부정합니다(패턴이 일치하는 파일은 무시되지 않음).

.tfignore 파일 예제

######################################
# Ignore .cpp files in the ProjA sub-folder 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
# Do not ignore .dll files in this folder nor in any of its sub-folders
!*.dll

.tfignore 파일을 만든 후 사용합니다.

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

자동으로 .tfignore 파일을 생성하려면

  1. 보류 중인 변경 내용 페이지의 제외된 변경 내용 섹션에서 검색된 변경 내용 링크를 선택합니다.

    변경 후보 승격 대화 상자가 나타납니다.

  2. 파일을 선택하고 상황에 맞는 메뉴를 연 후 이 로컬 항목 무시, 확장명으로 무시, 파일 이름으로 무시 또는 파일 이름으로 무시를 선택합니다.

  3. 확인 또는 취소를 선택하여 변경 후보 승격 대화 상자를 닫습니다.

  4. .tfignore 파일은 보류 중인 변경 내용 페이지의 포함된 변경 내용 섹션에 나타납니다. 이 파일을 열고 필요에 맞게 수정할 수 있습니다.

.tfignore 파일은 만든 규칙이 파일을 가져오는 각 팀 멤버에 적용할 수 있도록 포함된 보류 중인 변경 내용으로 추가됩니다.

명령 프롬프트에서 작업

  • Add 명령 개발 컴퓨터의 작업 영역을 서버로 업로드합니다.

참고 항목

기타 리소스

로컬 작업 영역을 사용할지 서버 작업 영역을 사용할지 결정