Source Control Management
버전 관리(version control, revision control), 소스 관리(source control), 소스 코드 관리(source code management, SCM)란 동일한 정보에 대한 여러 버전을 관리하는 것을 말한다. 공학과 소프트웨어 개발에서 팀 단위로 개발 중인 소스 코드나, 청사진 같은 설계도 등의 디지털 문서를 관리하는데 사용된다. 그러한 문서의 변경 사항들에 숫자나 문자로 이뤄진 ("개정판 번호"나 "개정판 레벨"이라고도 불리는) "버전"을 부여해서 구분한다. "버전"을 통해서 시간적으로 변경 사항과 그 변경 사항을 작성한 작업자를 추적할 수 있다. 간단한 버전 관리 방법으로는 처음 작성한 코드에 버전 번호 1을 부여한다. 변경 사항이 생기면, 버전 번호를 2로 증가시킨다. 이처럼 추후 변경 사항이 발생 시마다 버전 번호를 1씩 증가시킨다.
소프트웨어 엔지니어링에서는 일반적인 소프트웨어 소스 코드만을 관리하는 내역을 주로 버전 관리라고 정의하게 된다. 일반적으로 산업 공학이나 이전 생산 기반 제조 공학 등에서 소프트웨어 쪽으로 넘어오는 학문적 관심에 의해 이전 생산 공학에서 사용하던 개념을 가져오게 되었고, 그에따라 버전 관리(Software Version Manamgement)와 형상 관리(Software Configuration Management)의 개념들이 따라왔다고 볼 수 있겠다.
SCM 소프트웨어의 종류
명령어 비교
각 SCM의 사용방법(명령어)를 비교한다.
CVS | SVN | GIT | Description |
svn checkout | git clone | 원격서버로부터 다운받는다. | |
svnadmin create | git init | 새로운 로컬 저장소 생성. |
Monorepo
버전 관리 시스템에서 모노레포는 많은 프로젝트의 코드가 동일한 리포지토리에 저장되는 소프트웨어 개발 전략입니다. 2017년을 기준으로 이 소프트웨어 엔지니어링 방식은 20년이 넘었으며 '공유 코드베이스'라고도 합니다.
자세한 내용은 해당 항목 참조.
See also
Favorite site
References
-
hyperpolyglot.org.zip ↩