version control system : 버전관리 시스템2가지 모델
version 1, 2,3, 을 만들어서 조금씩 개선해 가는 것
문서 만들다가 팔꿈치로전체눌르고 삭제 누르고 고양이가 저장을 했다.
문서 만들다가 팔꿈치로전체눌르고 삭제 누르고 고양이가 저장을 했다.
이전 버전으로 돌아가서 각각 관리 가능
파일 여러개 만들면서 version 관리를 하는것
버전 관리 시스템 유형 (2가지)
1. centralized Version Control : 중앙 집중 관리 시스템
main server repository(저장 공간) 에 프로그램 소스, 문서 들어온다.
수정 원하면 copy하고 반영, 다른 사람은 가지고 와서 보거나 수정
- 방법1 ) 동시 수정 x 내가 copied files 하면 main server repository 잠군다.
- 방법 2) 동시에 작업하고 main server에 넣으면 달라진 부분을 누가 보고 잘 합쳐서 다시 반영
1,2방법을 쓰더라도 기본적인 문제가 있다. (가장 마지막 버전 소스는 서버에 있다. -> 서버 시스템이 깨지면 전체가 날라간다., 매일 백업해도 원본은 1개 이다. )
2. Distributed Version Control : 배포된 버전 시스템
main server에 소스가 내장되있다.
full source를 a,b,c 다운로드 받는다. a,b,c 각 작업을 한다.
push : main server에 넣는다. 동시에 push한 것은 mergy 한다.
- 각 자리에서 작업하는 것이라 속도 빠르다.
- main server 깨지더라도 a , b, c 에 전체 소스 있기 때문에 수정 하면 된다.
Git 을 많이 사용 중 (Bit keeper는 git 나오기 전 단계, 유로)