리포지토리(버전 제어)

Repository (version control)

버전 제어 시스템에서 리포지토리는 파일이나 디렉토리 구조의 집합에 대한 메타데이터를 저장하는 데이터 구조다.[1]사용 중인 버전 제어 시스템이 Git 또는 Mercurial과 같이 배포되는지 아니면 Subversion, CVS 또는 Perforce와 같이 중앙 집중화된지에 따라 저장소의 전체 정보 세트가 모든 사용자의 시스템에 복제되거나 단일 서버에서 유지될 수 있다.[2]리포지토리가 포함하는 메타데이터 중에는 무엇보다도 리포지토리의 변경에 대한 기록, 커밋 객체 집합, 그리고 헤드라 불리는 커밋 객체에 대한 참조 집합 등이 포함되어 있다.

저장소의 주요 목적은 파일 세트와 해당 파일의 변경 내역을 저장하는 것이다.[3]그러나 각 버전 제어 시스템이 이러한 변경 사항을 저장하는 방법은 크게 다르다.예를 들어, 과거에는 서브버전은 데이터베이스 인스턴스에 의존했지만 이후 변경사항을 파일 시스템에 직접 저장하기 위해 이동했다.[4]저장 기법의 이러한 차이는 일반적으로 필요에 따라 다른 그룹에 의한 버전 제어의 다양한 사용으로 이어졌다.[5]

참고 항목

참조

  1. ^ "SVNBook". Retrieved 2012-04-20.
  2. ^ "Version control concepts and best practices". 2018-03-03. Archived from the original on 2020-04-27. Retrieved 2020-07-10.
  3. ^ "Getting Started - About Version Control". Git SCM.
  4. ^ Ben Collins-Sussman; Brian W. Fitzpatrick; C. Michael Pilato (2011). "Chapter 5: Strategies for Repository Deployment". Version Control with Subversion: For Subversion 1.7. O'Reilly.
  5. ^ "Different approaches to source control branching". Stack Overflow. Retrieved 15 November 2014.