버전은 유의미한 수정을 의미

정말 유명한 사진이고 나도 실제로 이랬던 경험이 있다.
코드의 경우 따로 코드를 저장해두지 않으면
Ctrl+Z 말고는 돌릴 방법이 없다.
그래서 필요한 것이 버전 관리이고,
버전 관리 시스템을 사용하는 것이다.
버전 관리의 중요성으로는
- 변경 사항 추적
- 코드의 안정성
- 기록 보존
- 분기
등이 있다.
VCS는
Version Control System의 약자
로컬 VCS는
말그대로 로컬 내에서 버전을 관리를 하는 것이다.
혼자의 업무 등을 시스템을 통해
버전 관리를 쉽게 하는 것으로
협업이 불가능하다.
쉽게 중간에 컴퓨터를 두고 그 컴퓨터에 모두 저장한다.
그 컴퓨터에 버전을 계속 생성하며 버전을 관리한다.
필요한 프로젝트 버전의 "파일"만 불러와 수정 및 저장, 백업을 할 수 있다.
중간 컴퓨터에 연결만 되면 언제든 협업 가능하다.
대표적인 시스템으로 SVN, CVS 등
중앙집중식 VCS와 비슷하게
다른 컴퓨터에도 버전을 저장하지만
다른 점은 필요한 파일만 가져온 중앙집중식 VCS와는 달리
분산형 VCS는 파일 1개만 가져오는 것이 아닌
"프로젝트 전체"를 가져오는 시스템 이다.
훨씬 더 버전 관리를 안정적이고 편하게 할 수 있다.
대표적인 시스템으로 Git, Mecurial, Bazaar 등