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이 있습니다.
-
대부분의 경우 버전 제어에 대해 생각할 필요가 없습니다. 시스템은 변경 내용을 관리하고 이해해야 하는 경우 사용자를 지원합니다.
-
때때로 당신은 당신이하고있는 작업의 일부 또는 전부를 따로 설정해야합니다. 버전 제어 시스템은 약간의 고통을 없애고 중단으로 인해 낭비되는 시간을 줄일 수 있습니다.
-
팀이 만든 값을 빌드, 테스트 및 해제할 수 있도록 변경 내용을 체크 인합니다.
-
분기 및 잠금을 사용하여 여러 팀에서 수행한 작업에 의해 발생하는 위험을 격리합니다.
-
버전 제어 시스템의 한 가지 장점은 시간을 되돌아보면 파일에 변경된 내용에 대한 자세한 정보를 얻을 수 있다는 것입니다.
-
서버 폴더와 로컬 폴더를 서로 비교하고 각 폴더의 내용 간의 차이점을 볼 수 있습니다.
-
버전 제어를 사용하는 경우의 가장 큰 장점은 여러 사용자가 파일에서 동시에 작업할 수 있다는 것입니다. 한 가지 단점은 때때로 충돌을 해결해야 한다는 것입니다. 충돌이 발생하는 것이 불편할 수 있지만 시스템은 충돌을 이해하고 해결하는 데 도움이 되는 정보와 도구를 제공합니다.
-
파일 또는 폴더가 검사 변경되지 않도록 해야 하는 경우 파일을 잠글 수 있습니다.
tf 명령줄에서만 사용할 수 있는 작업
다음 표에서는 명령줄 도구를 사용하여 명령 프롬프트에서만 수행할 수 있는 TFVC에 tf
대한 작업을 나열합니다.
작업 | 명령 |
---|---|
다른 사용자의 작업 영역을 삭제합니다. | workspace 옵션 사용 /delete |
다른 사용자의 검사 취소합니다. | undo |
다른 사용자의 잠금을 제거합니다. | lock |
레이블 범위를 정의합니다. | label |
기본 없는 병합을 수행합니다. | merge |
콘텐츠를 영구적으로 삭제합니다. | destroy |
하나 이상의 변경 집합의 효과를 롤백합니다. | rollback |