: 소프트웨어의 변경 사항을 체계적으로 추적하고 통제하는것
: 개발 중 발생하는 모든 산출물들이 변경됨으로서 소프트웨어 형상을 체계적으로 관리하고 유지하는 시스템
대표적인 시스템 => Git / Svn
- working Directory : 저장 폴더 그 자체
- staging Area : working Directory에서 save를 했을 때 완전히 저장된게 아니라 변경된 내역을 저장할지 말지 결정하는 공간
- commit : staging Area에서 Local Repository에 저장하는 것
- Local Repository : 현재 컴퓨터에 실제로 데이터가 저장되는 폴더를 모아놓은 공간
- Remote Repository : 원격 저장소
- fetch : 변경된 내용을 현재 컴퓨터에 다운받는 것
- merge : 다운 받은 내용을 컴퓨터에 합침