다음을 통해 공유


연습: 버전 제어의 고급 기능

업데이트: 2007년 11월

이 연습에서는 Team Foundation 버전 제어에서 분기, 병합 및 레이블을 사용하는 방법을 보여 줍니다.

이 연습을 시작하려면 버전 제어 항목에 대한 분기, 병합 및 레이블 적용에 대해 어느 정도 이해하고 있어야 합니다.

  • 분기   Team Foundation 버전 제어의 분기 기능에서는 Team Foundation 서버에 있는 특정 파일 및 폴더 집합을 분기라는 새로운 위치로 복사합니다. 본질적으로 분기는 기존 폴더 또는 파일을 기반으로 새 폴더 또는 파일을 만듭니다. 분기 기능을 사용하면 분기 대상 폴더 및 파일의 기록을 보존할 수 있고 변경 내용을 이전 파일에서 새 파일로 병합할 수 있습니다. 분기는 소스 제어 탐색기에서 수행하거나 명령줄에서 Branch 명령을 사용하여 수행할 수 있습니다. 자세한 내용은 분기 이해를 참조하십시오.

  • 병합   병합은 별개의 분기에 있는 구별되는 두 버전의 파일, 폴더 또는 팀 프로젝트를 결합하는 과정입니다. 분기 중 하나는 소스 분기이고 다른 하나는 대상 분기입니다. 소스 분기에는 대상 분기로 병합하려는 항목이 포함됩니다. 이러한 폴더 및 파일의 버전은 변경 집합, 날짜, 레이블, 작업 영역 또는 최신 버전을 기반으로 할 수 있습니다. 자세한 내용은 분기 이해를 참조하십시오. 병합은 소스 제어 탐색기에서 수행하거나 명령줄에서 Merge 명령을 사용하여 수행할 수 있습니다.

  • 레이블   레이블은 버전 제어 서버에 있는 서로 관련되지 않은 파일 및 폴더의 집합에 선택적으로 연결할 수 있는 마커입니다. 레이블을 사용하면 개발 또는 빌드 목적을 위해 특정한 항목 컬렉션을 더욱 쉽게 작업 영역으로 가져올 수 있습니다.

이 항목에서는 분기 작업을 수행한 다음 결과 분기 및 원래 분기에서 팀 멤버의 파일을 편집하는 방법을 보여 줍니다. 그런 다음 편집 내용을 체크 인하고 병합합니다. 병합하면 충돌이 확인됩니다. 이러한 충돌은 해결해야 합니다. 마지막으로 변경 집합에 레이블을 적용합니다.

사전 요구 사항

이 연습을 완료하려면 먼저 다음 작업을 수행해야 합니다.

필요한 권한

이 연습을 완료하려면 PendChange 및 Checkin 권한이 있어야 합니다.

버전 제어 항목 분기

다음 절차에서는 분기 작업을 수행하는 방법을 보여 줍니다. 분기는 기존 폴더나 파일을 기반으로 새 폴더나 파일을 만들기 위해 고안된 Team Foundation 버전 제어 기능입니다. 자세한 내용은 분기 이해방법: 파일 및 폴더 분기을 참조하십시오.

주의:

다음 절차에서는 연습: Team Foundation 버전 제어 탐색의 단계를 이미 완료했다고 가정합니다.

버전 제어에서 항목을 분기하려면

  1. 보기 메뉴에서 다른 창을 클릭한 다음 소스 제어 탐색기를 클릭하여 엽니다.

  2. 소스 제어 탐색기에서 연습: Team Foundation 버전 제어 탐색에서 만든 MyWindowsApp.sln 솔루션 파일이 포함된 MyWindowsApp 폴더를 열고 마우스 오른쪽 단추로 클릭한 다음 분기를 선택합니다.

  3. 분기 대화 상자의 대상 텍스트 상자에서 새 분기의 위치 및 이름 끝에 Test Branch를 추가하여 수정합니다. 찾아보기를 클릭하여 위치를 찾을 수도 있습니다.

    참고:

    대상 분기에는 "-분기" 문자열이 자동으로 추가됩니다.

  4. 분기 시작 버전 섹션의 기준 드롭다운 목록에서 최신 버전을 선택합니다.

  5. 확인을 클릭합니다.

    Team Foundation 버전 제어에서 새 분기를 만들고 소스 제어 탐색기에 표시합니다.

  6. MyWindowsApp Test Branch라는 새 분기 폴더를 두 번 클릭합니다.

    보류 중인 변경 내용 열 아래에서 새 분기에 있는 각 항목의 상태는 분기입니다.

  7. 분기는 보류 중인 변경 내용이므로 체크 인을 수행하여 분기를 적용해야 합니다. MyWindowsApp Test Branch 폴더를 마우스 오른쪽 단추로 클릭하고 보류 중인 변경 내용 체크 인을 선택합니다.

  8. 체크 인 대화 상자의 설명 텍스트 상자에 Test branch를 입력하고 체크 인을 클릭합니다.

    참고:

    팀 프로젝트에 체크 인 정책이 적용되는 경우 다음 단계로 진행하기 전에 작업 항목이나 체크 인 메모를 연결해야 할 수도 있습니다. 자세한 내용은 방법: 변경 집합에 작업 항목 연결방법: 변경 집합에 체크 인 메모 연결을 참조하십시오.

    소스 제어 탐색기의 보류 중인 변경 내용 열에서 빈 항목을 표시합니다. 이것은 새 분기가 체크 인되었음을 나타냅니다.

이제 새 분기를 만들고 체크 인했습니다. 다음 절차에서는 원래 분기와 새 분기에서 파일을 변경해 봅니다.

분기에 일부 변경 내용 적용

다음으로 두 분기에서 같은 파일을 개별적으로, 그러나 내용이 충돌하도록 변경합니다. 나중에 두 분기를 병합하고 이 병합 충돌을 해결하게 됩니다. 다음 절차에서는 두 분기에서 파일을 체크 아웃하고 편집하는 방법을 보여 줍니다.

버전 제어 분기에서 파일 체크 아웃 및 편집

  1. 이전 단계에서 만든 새 분기에서 MyWindowsApp Test Branch 폴더를 확장합니다. 오른쪽 창에서 연습: Team Foundation 버전 제어 탐색에서 만든 Class1.cs 파일을 찾아 마우스 오른쪽 단추로 클릭하고 편집하기 위해 체크 아웃을 선택합니다.

  2. 체크 아웃 대화 상자에서 체크 아웃을 클릭합니다.

    이제 소스 제어 탐색기에 파일의 보류 중인 변경 내용 상태가 편집으로 표시됩니다.

  3. 편집을 위해 Class1.cs 파일을 두 번 클릭하여 엽니다.

  4. Class1.cs 파일에 강조 표시된 다음 코드를 추가합니다.

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace MyWindowsApp
    {
          class Class1
          {
                string SourceControlMerge = "New branch";
          }
    } 
    
  5. 파일 메뉴에서 Class1.cs 저장을 클릭합니다.

  6. 소스 제어 탐색기에서 Class1.cs 파일을 마우스 오른쪽 단추로 클릭하고 보류 중인 변경 내용 체크 인을 선택합니다.

  7. 체크 인 대화 상자의 설명 텍스트 상자에 New branch changes를 입력하고 체크 인을 클릭합니다.

    참고:

    팀 프로젝트에 체크 인 정책이 적용되는 경우 다음 단계로 진행하기 전에 작업 항목이나 체크 인 메모를 연결해야 할 수도 있습니다. 자세한 내용은 방법: 변경 집합에 작업 항목 연결방법: 변경 집합에 체크 인 메모 연결을 참조하십시오.

    소스 제어 탐색기의 보류 중인 변경 내용 열에서 Class1.cs 파일에 대해 빈 항목을 표시합니다. 이것은 편집 내용이 체크 인되었음을 나타냅니다.

    이제 원래 분기를 변경합니다. 이 단계는 방금 마친 단계와 기본적으로 동일합니다.

  8. 소스 제어 탐색기에서 MyWindowsApp라는 원래 분기가 포함된 폴더를 엽니다.

  9. 원래 분기에서 MyWindowsApp 폴더를 확장하고 오른쪽 창에서 연습: Team Foundation 버전 제어 탐색에서 만든 Class1.cs 파일을 찾아 마우스 오른쪽 단추로 클릭한 다음 편집하기 위해 체크 아웃을 선택합니다.

  10. 체크 아웃 대화 상자에서 체크 아웃을 클릭합니다.

    소스 제어 탐색기에 파일의 보류 중인 변경 내용 상태가 편집으로 표시됩니다.

  11. 편집을 위해 Class1.cs 파일을 두 번 클릭하여 엽니다.

  12. Class1.cs 파일에 강조 표시된 다음 코드를 추가합니다.

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace MyWindowsApp
    {
          class Class1
          {
                string SourceControlMerge = "Original branch";
          }
    } 
    
  13. 파일 메뉴에서 Class1.cs 저장을 클릭합니다.

  14. 소스 제어 탐색기에서 Class1.cs 파일을 마우스 오른쪽 단추로 클릭하고 보류 중인 변경 내용 체크 인을 선택합니다.

  15. 체크 인 대화 상자의 설명 텍스트 상자에 원래 분기 변경 내용을 입력하고 체크 인을 클릭합니다.

    참고:

    팀 프로젝트에 체크 인 정책이 적용되는 경우 다음 단계로 진행하기 전에 작업 항목이나 체크 인 메모를 연결해야 할 수도 있습니다. 자세한 내용은 방법: 변경 집합에 작업 항목 연결방법: 변경 집합에 체크 인 메모 연결을 참조하십시오.

    소스 제어 탐색기의 보류 중인 변경 내용 열에서 Class1.cs 파일에 대해 빈 항목을 표시합니다. 이것은 편집 내용이 체크 인되었음을 나타냅니다.

분기를 만들고 원래 분기와 새 분기 모두에 변경 내용을 적용했으므로 다음 절차에서는 두 분기의 변경 내용을 병합하는 방법을 살펴 봅니다.

버전 제어 항목 병합

분기에 있는 파일을 변경한 후 병합을 수행할 수 있습니다. 다음 절차에서는 병합을 위한 소스 제어 탐색기 사용 방법을 보여 줍니다. 자세한 내용은 병합 이해방법: 파일 및 폴더 병합을 참조하십시오.

버전 제어에서 분기를 병합하려면

  1. 소스 제어 탐색기에서 MyWindowsApp Test Branch 폴더를 마우스 오른쪽 단추로 클릭하고 병합을 선택합니다.

    소스 제어 병합 마법사의 소스 분기 텍스트 상자에 MyWindowsApp Test Branch 폴더의 경로와 이름이 표시됩니다.

  2. 대상 분기 드롭다운 목록에서 MyWindowsApp 폴더를 선택합니다.

  3. 병합할 소스 분기 변경 내용 선택에서 특정 버전까지의 모든 변경 내용을 선택하고 다음을 클릭합니다.

  4. 소스 항목 버전 선택 단계의 버전 형식 드롭다운 목록에서 최신 버전을 선택하고 다음을 클릭합니다.

  5. 병합 작업 수행 단계에서 마침을 클릭합니다.

    소스 분기와 대상 분기 간에 차이가 있으므로 충돌 해결 대화 상자가 나타납니다. 충돌을 해결하려면 다음 절차의 단계를 따릅니다. 충돌이 없으면 버전 충돌 해결 대화 상자가 나타나지 않습니다.

병합 충돌 해결

두 분기에 있는 파일이 서로 다르므로 두 분기 사이의 충돌을 해결하기 위한 조치를 취하라는 메시지가 나타납니다. 자세한 내용은 방법: 두 파일 간의 충돌 해결을 참조하십시오. 병합 충돌을 해결하려면 다음 단계를 따릅니다.

병합 충돌을 해결하려면

  1. 충돌 해결 대화 상자에서 해결을 클릭합니다.

    버전 충돌 해결 대화 상자가 표시됩니다.

  2. 버전 충돌 해결 대화 상자의 해결 옵션에서 병합 도구에서 변경 내용 병합을 선택하고 확인을 클릭합니다.

  3. 병합 도구에서 다음 변경 내용을 클릭하여 두 파일에서 충돌을 찾습니다. 파일이 나란히 표시됩니다. 앞의 절차에서 입력한 두 개의 문자열(원래 분기 및 새 분기)이 나타납니다.

  4. 새 분기라는 문자열이 포함된 코드를 클릭합니다.

    병합 도구의 아래쪽 창에 변경 내용이 표시됩니다.

  5. 확인을 클릭합니다.

  6. Microsoft Visual Studio 대화 상자에서 예를 선택하여 파일을 저장합니다.

  7. 병합된 결과를 수락할지 묻는 메시지가 표시됩니다. 예를 클릭하여 병합된 파일을 유지합니다.

  8. 충돌 해결 대화 상자에서 닫기를 클릭합니다.

  9. 소스 제어 탐색기에서 MyWindowsApp 폴더를 마우스 오른쪽 단추로 클릭하고 보류 중인 변경 내용 체크 인을 선택합니다.

    체크 인 대화 상자가 나타납니다.

  10. 체크 인 대화 상자에서 체크 인을 클릭합니다.

    참고:

    팀 프로젝트에 체크 인 정책이 적용되는 경우 다음 단계로 진행하기 전에 작업 항목이나 체크 인 메모를 연결해야 할 수도 있습니다. 자세한 내용은 방법: 변경 집합에 작업 항목 연결방법: 변경 집합에 체크 인 메모 연결을 참조하십시오.

이제 분기를 만들고, 원래 분기와 새 분기를 모두 변경하고, 두 분기를 병합하고, 병합 충돌을 해결했습니다. 다음 절차에서는 Team Foundation 버전 제어에서 레이블을 사용하는 방법을 보여 줍니다.

버전 제어 항목에 레이블 지정

Team Foundation 버전 제어에서 레이블은 특정 수정 버전 집합에 적용되는 이름입니다. 이를 스냅숏 빌드라고도 합니다. 레이블은 파일의 수정 버전 중 하나에만 적용할 수 있습니다. 레이블은 수정 버전에서 파일 집합을 구성하는 간단한 방법입니다. 자세한 내용은 레이블 사용방법: 레이블 적용을 참조하십시오.

버전 제어에 레이블을 적용하려면

  1. 소스 제어 탐색기에서 이전 절차에서 만든 MyWindowsApp Test Branch 폴더를 열고 마우스 오른쪽 단추로 클릭한 다음 레이블 적용을 선택합니다.

  2. 항목 버전 선택 대화 상자에서 MyWindowsApp Test Branch 폴더를 선택합니다.

  3. 파일 형식 상자에서 모든 파일 (*.*)을 선택한 다음 확인을 클릭합니다.

  4. 레이블 적용 대화 상자의 이름 텍스트 상자에 MyWindowsApp label test를 입력합니다.

  5. 설명 텍스트 상자에 MyWindowsApp 버전을 빌드하는 데 필요한 모든 파일을 입력합니다.

  6. 항목에서 추가를 클릭합니다.

  7. 항목 버전 선택 대화 상자의 찾는 위치 목록에 작업 중인 팀 프로젝트가 포함되어 있는지 확인합니다.

  8. MyWindowsApp Test Branch 폴더로 이동하여 Class1.cs 파일을 찾아 선택합니다.

  9. 버전 목록에서 최신 버전을 선택합니다.

  10. 확인을 클릭합니다.

    Team Foundation 버전 제어에 항목이 채워진 레이블 적용 대화 상자가 표시됩니다.

  11. 확인을 클릭합니다.

참고 항목

개념

레이블 사용

버전 제어 변경 집합 사용

참조

Branch 명령

Branches 명령

Merge 명령

Merges 명령

Label 명령(Team Foundation 버전 제어)

Labels 명령

보류 중인 체크 인 창

기타 리소스

Team Foundation 버전 제어 연습

Team Foundation 버전 제어 분기 및 병합