CVCS( Centralized Version Control Systems, 중앙집중식 버전 제어 시스템 ) : 잘 안씀
장점
- 여러 개발자들이 함께 작업할 수 있음
- 중앙 서버는 프로젝트 전체의 히스토리를 갖고 있으므로, 데이터를 잃어버렸을 때 복구하기가 비교적 쉬움
단점:
- 중앙 서버가 다운되면 프로젝트의 히스토리에 접근할 수 없게 되고, 서버의 데이터가 손실되면 프로젝트 전체의 히스토
리를 잃어버릴 수 있음.
왜냐하면, Local에 버전을 저장하지 않고, 바로 중앙 저장소에만 저장을 하기 때문이다.(매우 치명적)
- 네트워크에 의존적이라 오프라인에서 작업하기 어려움
VCS( Version Control System, 버전 제어 시스템) : Ex. Git
장점
- 로컬 VCS는 사용이 간단하고 시스템 요구 사항이 적음
단점
- 하나의 시스템에서만 작동하므로 다수의 개발자가 협업하기 어려움
- 모든 데이터가 한 곳에 집중되어 있어서 데이터 손실 위험이 있음
DVCS (Distributed Version Control Systems, 분산 버전 제어 시스템) : 중앙 저장소에 버전을 저장하기 전에, 로컬 컴퓨터에 먼저 버전을 저장을 한다.
- DVCS에서는 모든 개발자가 리포지토리의 전체 복사본을 가지고 있으며, 각각의 복사본은 전체 히스토리와 모든 변경 사항을 저장함
- Git, Mercurial, Bazaar 등이 있음
장점:
- 중앙 서버가 다운되더라도 각 개발자의 로컬 복사본을 통해 작업을 계속할 수 있음.
왜냐하면, 초기에 clone을 통해 [전체] History를 다운로드 하므로, 로컬에 있는 것을 다시 중앙 서버에 복구하면 그만이다.
- 또한, 네트워크 연결이 없을 때도 전체 히스토리에 접근하고 변경 사항을 커밋할 수 있음.
- 브랜치 관리가 용이하며, 많은 개발자들이 협업할 수 있음.
단점
- 전체 히스토리를 저장하므로 초기 클론 작업이 오래 걸릴 수 있음
- 또한, 복잡한 명령어와 학습 곡선이 있을 수 있음
'CS 잡지식' 카테고리의 다른 글
AI 모델 테스트 용 동영상 자료 저장소(Feat. 비디오,mp4, 영상, dataset) (0) | 2024.01.31 |
---|---|
Git Commit의 원리(Feat. snapshot[스냅샷], tree,parent), Object 파일의 3가지 종류(Feat. commit ID, tree ID, blob ID) (0) | 2024.01.19 |
모멘트(moment) (0) | 2024.01.12 |
numpy.newaxis(feat. np.newaxis) (0) | 2024.01.12 |
Gistory(feat. .git 파일 분석 툴) (1) | 2024.01.03 |