Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- it5분잡학사전
- ETH
- 노마드코더
- Non-Blocking
- git
- 카카오홈페이지클론
- 비트코인
- it5
- 카카오페이지클론
- 클레이튼
- solidity
- ERC-721
- 정보처리기사실기
- 블록체인
- github
- 이더리움
- 2021정보처리기사실기
- 정보처리기사실기요약
- 솔리디티
- blockchain
- 페이지클론
- 노개북
- 정보처리기사
- React
- web3.js
- ERC721
- Klaytn
- npm
- 콜백함수this
- node.js
Archives
- Today
- Total
Be lazy, Be crazy
[git] 형상관리란? - local VCS, CVCS, DVCS 본문
728x90
반응형
git에 대한 개념을 제대로 잡기 위한 게시글로, git을 이해하기 전 알아야 할 형상 관리 도구(버전 관리 도구)에 대한 이해도를 높이기 위한 게시글입니다. 참고 사이트: git-scm.com/book/ko/b2
1. 형상 관리란?
- 다른 말로 버전 관리라고도 한다.
- 형상 관리 시스템 : 파일의 변화를 시간에 따라 기록해두었다가 특정 시점 버전을 나중에 다시 꺼내올 수 있는 시스템
형상 관리 시스템의 장점
- 파일 및 프로젝트를 이전 상태로 되돌릴 수 있다.
- 시간에 따라 수정 내용을 비교해 볼 수 있다.
- 누가, 언제 만들어낸 이슈인지 추적할 수 있다.
- 파일을 잃어버리거나 잘못 수정했을 때 쉽게 복구할 수 있다.
형상 관리 시스템은 크게 로컬 버전 관리 시스템, 중앙집중식 버전 관리 시스템, 분산 버전 관리 시스템으로 구분할 수 있다.
1-1. 로컬 버전 관리 시스템(local VCS)

- 아주 간단한 데이터베이스를 사용해서 파일의 변경 정보를 관리한다.
- RCS(Revision Control System)라고 부르는 것이 있는데 오늘날까지도 아직 많은 회사가 사용하고 있다.
- RCS는 기본적으로 Patch Set(파일에서 변경되는 부분)을 관리하며, 이 Patch Set은 특별한 형식의 파일로 저장한다. 그리고 일련의 Patch Set을 적용해서 모든 파일을 특정 시점으로 되돌릴 수 있다.
1-2. 중앙집중식 버전 관리 시스템(CVCS)

- CVS, SVN(Subversion), Perforce 등이 있다.
- 파일을 관리하는 서버가 별도로 있고 클라이언트가 중앙 서버에서 파일을 받아서 사용(Checkout)한다.
- 관리자는 누가 무엇을 할지 꼼꼼하게 관리할 수 있다.
- 만약 서버가 한 시간 동안 다운되면 그동안 아무도 다른 사람과 협업할 수 없고 사람들이 하는 일을 백업할 방법도 없다.
- 중앙 데이터베이스가 있는 하드디스크에 문제가 생기면 프로젝트의 모든 히스토리를 잃는다.
1-3. 분산 버전 관리 시스템(DVCS)

- Git, Mecurial, Bazaar, Darcs 등이 있다.
- 클라이언트가 단순히 파일의 마지막 스냅샷을 Checkout 하지 않는다. 그냥 저장소를 히스토리와 더불어 전부 복제한다.
- 서버에 문제가 생기면 이 복제물로 다시 작업을 시작할 수 있다. 클라이언트 중에서 아무거나 골라도 서버를 복원할 수 있다. Clone은 모든 데이터를 가진 진정한 백업이다.
- 대부분의 DVCS 환경에서는 리모트 저장소가 존재한다. 리모트 저장소가 많을 수도 있다. 그래서 사람들은 동시에 다양한 그룹과 다양한 방법으로 협업할 수 있다. 계층 모델 같은 중앙집중식 시스템으로는 할 수 없는 워크플로를 다양하게 사용할 수 있다.
반응형
'git' 카테고리의 다른 글
[git] github란? (github & github desktop) (0) | 2021.12.20 |
---|---|
[git] git이란? (git, github 차이) (0) | 2021.12.20 |
Comments