Team Foundation 버전 제어란?

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

Visual Studio 2019 | Visual Studio 2022

소프트웨어 프로젝트의 크기에 관계없이 버전 제어를 가능한 한 빨리 사용하는 것이 좋습니다. 버전 제어 시스템은 시간이 지남에 따라 코드에서 변경한 내용을 추적하는 데 도움이 되는 소프트웨어로 구성됩니다. 코드를 편집할 때 버전 제어 시스템에 파일의 스냅샷 수행하도록 지시합니다. 버전 제어 시스템에서는 이 스냅샷을 영구 저장하므로 필요할 때 불러올 수 있습니다.

Azure DevOps Services 및 TFS는 버전 제어의 두 가지 모델인 분산 버전 제어인 Git중앙 집중식 버전 제어인 TFVC(Team Foundation 버전 제어)를 제공합니다. 이 문서에서는 TFVC 사용에 대한 개요 및 시작점을 제공합니다. 사용할 Azure DevOps Services/TFS 버전 제어 유형을 결정하는 경우 프로젝트에 적합한 버전 제어 선택을 참조하세요.

버전 제어를 사용하는 이유는 무엇인가요?

버전 제어를 사용하지 않으면 컴퓨터에 여러 코드 복사본을 유지해야 할 것입니다. 잘못된 코드 복사본에서 파일을 쉽게 변경하거나 삭제할 수 있으므로 작업 손실이 발생할 수 있으므로 위험합니다. 버전 제어 시스템은 코드의 모든 버전을 관리하지만 한 번에 단일 버전을 표시하여 이 문제를 해결합니다.

버전 제어 시스템은 다음과 같은 이점을 제공합니다.

  • 워크플로 만들기 - 버전 제어 워크플로는 서로 다른 호환되지 않는 도구로 자체 개발 프로세스를 사용하는 모든 사람의 혼란을 방지합니다. 버전 제어 시스템은 모든 사용자가 동일한 페이지에 머물 수 있도록 프로세스 적용 및 권한을 제공합니다.
  • 버전 작업 - 모든 버전에는 버그 수정 또는 기능 추가와 같은 버전 변경 내용에 대한 설명이 있습니다. 이러한 설명은 개별 파일 변경 대신 버전별로 코드의 변경을 추적하는 데 도움이 됩니다. 버전에 저장된 코드는 필요에 따라 언제든지 버전 제어 기능을 통해 확인하고 복원할 수 있습니다. 이렇게 하면 모든 버전의 코드에서 새 작업을 쉽게 기반으로 할 수 있습니다.
  • 함께 코드 - 버전 제어는 버전을 동기화하고 변경 내용이 팀의 다른 변경 내용과 충돌하지 않도록 합니다. 팀은 사용자가 동시에 변경하는 경우에도 충돌을 해결하고 방지하기 위해 버전 제어를 사용합니다.
  • 기록 유지 - 버전 제어는 팀이 새 버전의 코드를 저장할 때 변경 기록을 유지합니다. 이 기록을 검토하여 누가, 왜, 언제 변경했는지 확인할 수 있습니다. 기록은 언제든지 이전의 좋은 버전으로 롤백할 수 있으므로 실험에 대한 자신감을 제공합니다. 기록을 사용하면 이전 릴리스의 버그 수정과 같은 모든 버전의 코드에서 기본 작업을 수행할 수 있습니다.
  • 작업 자동화 - 버전 제어 자동화 기능은 팀 시간을 절약하고 일관된 결과를 생성합니다. 새 버전이 버전 제어에 저장되면 테스트, 코드 분석 및 배포를 자동화할 수 있습니다.

버그 재현, 새 도구 학습, 새 기능 또는 콘텐츠 추가 등 개발자로서 시간이 걸릴 수 있는 많은 것들이 있습니다. 사용자의 요구가 강화됨에 따라 버전 제어는 팀이 함께 작업하고 정시에 배송하는 데 도움이 됩니다.

Team Foundation 버전 제어

TFVC는 중앙 집중식 버전 제어 시스템입니다. 일반적으로 팀 구성원은 개발 머신에 각 파일의 버전이 하나뿐입니다. 기록 데이터는 서버에만 보관됩니다. 분기는 경로에 기반을 두며 서버에서 만들어집니다.

TFVC를 사용하면 세분화된 권한을 적용하고 파일 수준으로 액세스를 제한할 수 있습니다. 팀이 모든 작업을 Azure DevOps Server에 검사 변경 내용을 쉽게 감사하고 변경 집합에 검사 사용자를 식별할 수 있습니다. 비교주석을 사용하여 정확한 변경 내용을 식별할 수 있습니다.

빠른 시작

프로젝트를 만들고, 작업 영역을 구성하고, 코드를 검토하고 공유하여 시작합니다. 다음 클라이언트 또는 IDE 중 하나를 사용할 수 있습니다.

단계별 자습서

Visual Studio 및 TFVC를 사용하는 DevOps 개발자의 일상 생활을 보여주는 다음 자습서를 사용하여 TFVC에서 작업의 기본 사항을 알아봅니다.

수행할 작업

  • 개발 머신 설정 및 시작

    버전 제어 코드베이스의 모든 이점을 활용하도록 개발 머신을 설정하는 데 몇 분 정도 걸립니다.

  • 워크플로 모델 선택 - 서버 또는 로컬 작업 영역

    • 서버 작업 영역 - 변경하기 전에 팀 멤버가 파일을 공개적으로 확인합니다. 대부분 작업의 경우 개발자가 서버에 연결해야 합니다. 이 시스템은 워크플로 잠금을 용이하게 합니다. 이러한 방식으로 작동하는 다른 시스템에는 Visual Source 금고, Perforce 및 CVS가 포함됩니다. 서버 작업 영역을 사용하면 분기당 수백만 개의 파일과 큰 이진 파일을 사용하여 매우 큰 코드베이스로 확장할 수 있습니다.

    • 로컬 작업 영역 - 각 팀 구성원은 최신 버전의 코드베이스 복사본을 가져와 필요에 따라 오프라인으로 작동합니다. 개발자는 변경 내용을 체크 인하고 필요 시 충돌을 해결합니다. 이 방식으로 작동하는 또 다른 시스템으로는 Subversion이 있습니다.

  • 버전 제어 코드베이스에서 앱 개발

    대부분의 경우 버전 제어에 대해 생각할 필요가 없습니다. 시스템은 변경 내용을 관리하고 이해해야 하는 경우 사용자를 지원합니다.

  • 작업 일시 중단

    때때로 당신은 당신이하고있는 작업의 일부 또는 전부를 따로 설정해야합니다. 버전 제어 시스템은 약간의 고통을 없애고 중단으로 인해 낭비되는 시간을 줄일 수 있습니다.

  • 팀에 작업 기여

    팀이 만든 값을 빌드, 테스트 및 해제할 수 있도록 변경 내용을 체크 인합니다.

  • 위험 격리

    분기 및 잠금을 사용하여 여러 팀에서 수행한 작업에 의해 발생하는 위험을 격리합니다.

  • 이전 버전 보기 및 관리

    버전 제어 시스템의 한 가지 장점은 시간을 되돌아보면 파일에 변경된 내용에 대한 자세한 정보를 얻을 수 있다는 것입니다.

  • 폴더 및 파일 비교

    서버 폴더와 로컬 폴더를 서로 비교하고 각 폴더의 내용 간의 차이점을 볼 수 있습니다.

  • Team Foundation 버전 제어 충돌 해결

    버전 제어를 사용하는 경우의 가장 큰 장점은 여러 사용자가 파일에서 동시에 작업할 수 있다는 것입니다. 한 가지 단점은 때때로 충돌을 해결해야 한다는 것입니다. 충돌이 발생하는 것이 불편할 수 있지만 시스템은 충돌을 이해하고 해결하는 데 도움이 되는 정보와 도구를 제공합니다.

  • 버전 제어 잠금 작업

    파일 또는 폴더가 검사 변경되지 않도록 해야 하는 경우 파일을 잠글 수 있습니다.

tf 명령줄에서만 사용할 수 있는 작업

다음 표에서는 명령줄 도구를 사용하여 명령 프롬프트에서만 수행할 수 있는 TFVC에 tf 대한 작업을 나열합니다.

작업 명령
다른 사용자의 작업 영역을 삭제합니다. workspace옵션 사용 /delete
다른 사용자의 검사 취소합니다. undo
다른 사용자의 잠금을 제거합니다. lock
레이블 범위를 정의합니다. label
기본 없는 병합을 수행합니다. merge
콘텐츠를 영구적으로 삭제합니다. destroy
하나 이상의 변경 집합의 효과를 롤백합니다. rollback