소스 컨트롤 관리도구(Source Control Management Tool, 이하 SCM)은 소스코드의 형상을 관리하고 팀이 협업하여 개발을 할 수 있도록 지원하는 매우 중요한 인프라입니다.CVS로 대중화된 SCM은 이후 Subversion으로 대폭 물갈이 되었는데 이들 중앙집중식 SCM의 문제점들이 심각해지면서 새로운 개념이 나오기 시작합니다.
이 새로운 개념은 분산형 버전 컨트롤 시스템(Distributed Version Control System, 이하 DVCS)이라고 불리며, 2단계 레포지토리를 가지는 특징이 있습니다. 로컬 레포지토리는 개발자 개인의 로컬 저장소에서 유지 관리되며, 특정 마일스톤에 다다르면 중앙에 있는 레포지토리로 변경 내용들을 올릴 수 있습니다.





.jpg)
.jpg)



