버전 제어Version control

버전 제어는 파일의 다양한 버전을 관리하는 시스템으로서, 소프트웨어 개발에서는 일반적으로 여러 개발자가 서로 다른 버전을 생성합니다.Version control is a system for managing files over many different versions, and - in software development - is generally contributed to by many developers. 모든 VCS(버전 제어 시스템)의 주목적은 모든 사용자가 동시에 코드베이스에서 작업할 수 있는 솔루션을 찾는 것입니다.The principal purpose of any version control system (VCS) is to find a solution that enables all users to work on the codebase at the same time.

모든 버전 제어 시스템의 핵심에는 파일 서버와 비슷하게 다양한 파일의 중앙 데이터 저장소 역할을 하는 _리포지토리_가 있습니다.At the core of any version control system is a repository, which acts as the central data store for all the different files - similar to a file server. 그러나 리포지토리는 파일 서버와 달리 프로젝트의 전체 기록과 모든 수정 버전을 포함합니다.However, unlike a file server, the repository contains the entire history of the project and all revisions that have been made.

중앙 데이터 저장소가 리포지토리 형태라면, 각 사용자에게 작업 가능한 로컬 데이터 저장소를 제공하는 것이 합리적입니다.If the repository is the central data store, it is logical for each user to have a local store of the data, allowing them to work on it. 이를 _작업 복사본_이라고 합니다.This is called a working copy. Mac용 Visual Studio에서 작업 복사본은 컴퓨터의 다른 로컬 디렉터리와 동일하게 표시되므로 모든 파일을 읽고 쓸 수 있습니다.In Visual Studio for Mac your working copy will appear just as any other local directory on your machine, allowing you to read from and write to any of the files. 그러나 Mac용 Visual Studio에는 버전 제어 시스템이 통합되어 있으므로 IDE 내에서 Subversion 및 Git을 사용할 수 있습니다.However, because Visual Studio for Mac has Version control system integration, you can use Subversion and Git without leaving the IDE.

Subversion은 중앙 집중화된 버전 제어 시스템이므로, 모든 파일과 수정 버전을 포함하는 단일 서버가 있으며 사용자는 여기에서 임의의 파일 버전을 체크 아웃할 수 있습니다.Subversion is a centralized version control system, which means that there is a single server that contains all files and revisions from which users can check out any version of any file. 원격 Subversion 리포지토리에서 파일을 체크 아웃하면 사용자는 해당 시점을 기준으로 리포지토리의 스냅샷을 가져옵니다.When files are checked out from a remote Subversion repository, the user gets a snapshot of the repository at that point in time.

Git은 모든 팀원이 동일한 문서를 동시에 작업할 수 있는 분산형 버전 제어 시스템입니다.Git is a distributed version control system that allows teams to work on the same documents simultaneously. Git을 사용하는 경우 모든 파일을 포함하는 단일 서버가 있더라도 이 중앙 소스에서 리포지토리를 체크 아웃할 때마다 리포지토리 전체가 로컬 컴퓨터에 복제됩니다.With Git there might be a single server that contains all the files, but the entire repository is cloned locally to your machine whenever a repository is checked out from this central source.

기본 개념Basic Concepts

Mac용 Visual Studio는 Git 및 Subversion 버전 제어 시스템을 모두 지원합니다.Visual Studio for Mac provides support for both Git and Subversion version control systems. 다음 문서에서는 Mac용 Visual Studio를 통해 Git 및 Subversion 리포지토리를 설정하는 방법 및 변경 내용 검토, 커밋, 푸시 등의 간단한 기능을 살펴봅니다.The following articles explore setting up Git and Subversion repositories through Visual Studio for Mac, as well as simple functionality such as reviewing, committing, and pushing changes.

참고 항목See also