다음을 통해 공유


Team Foundation 버전 제어란?

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Visual Studio 2019 | Visual Studio 2022

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

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

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

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

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

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

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

Team Foundation 버전 제어

TFVC는 중앙 집중식 버전 제어 시스템입니다. 일반적으로 팀 멤버는 자신의 고유 개발 컴퓨터에 각 파일 버전 하나만 보유합니다. 기록 데이터는 서버에서만 유지 관리됩니다. 분기는 경로 기반이며 서버에서 생성됩니다.

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

빠른 시작

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

단계별 자습서

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

무엇을 하고 싶으세요?

  • 개발 머신 설정 및 시작

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

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

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

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

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

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

  • 작업 일시 중단

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

  • 팀에 작업 기여

    팀이 귀하가 만든 가치를 기반으로 빌드, 테스트, 배포할 수 있도록 변경 내용을 저장합니다.

  • 위험 격리

    다양한 팀이 수행한 작업으로 인해 발생하는 위험을 격리하기 위해 브랜치와 잠금을 사용합니다.

  • 이전 버전 보기 및 관리

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

  • 폴더 및 파일 비교

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

  • Team Foundation 버전 제어 충돌 해결

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

  • 버전 제어 잠금으로 작업하기

    파일 또는 폴더가 체크 아웃되고 변경되지 않도록 해야 하는 경우 파일을 잠글 수 있습니다.

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

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

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