서버에 파일 추가

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

Visual Studio 2022 | Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015 | Visual Studio 2013

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

버전 제어에 파일을 추가하기 전에 먼저 개발 머신에서 작업 영역을 설정해야 합니다.

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

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

새 프로젝트 대화 상자

  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/Main)로 이동합니다. 여기서 SiteApp은 프로젝트의 이름입니다. 이 폴더가 부모 폴더로 적합한 이유

  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. 소스 제어 탐색기에서 파일을 저장할 폴더로 이동합니다.

중요

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

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

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

  3. 마침을 선택합니다.

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

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

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

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

개발 머신과 빌드 에이전트가 인터넷에 액세스할 수 있는 경우 NuGet 을 사용하면 팀이 종속성을 보다 쉽게 관리하고 이진 파일을 최신 상태로 유지할 수 있습니다. Azure Artifacts를 사용하여 TFS 또는 Azure DevOps Services 패키지를 저장할 수 있습니다.

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

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

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

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

기본 부모 폴더 내의 라이브러리 폴더
그러면 모든 코드 프로젝트가 상대 경로 를 사용하여 라이브러리 폴더를 참조할 수 있습니다.../../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 파일은 만든 규칙이 파일을 가져오는 각 팀 멤버에 적용할 수 있도록 포함된 보류 중인 변경 내용으로 추가됩니다.

명령 프롬프트에서 작업

  • 명령 추가 개발 컴퓨터의 작업 영역에서 서버로 파일을 업로드합니다.