본문 바로가기

Architect

Ship It - 부록 소스코드 관리 도구 -

소스 코드 관리(SCM)프로그램(또는 버전 컨트롤 시스템으로 널리 알려진)은 코드와 변경 내역을 추적합니다. 더 나아가, 좋은 SCM은 특정 버젼의 코드와(제품 출시와 같은) 중요한 이정표를 연관시켜 줍니다.

사용할 수 있는 소프트웨어
1. CVS
URL : http://www.cvshome.org

2. 서브버전
URL : http://subversion.tigris.org

3. MS Visual SourceSafe
URL : http://msdn.microsoft.com/vstudio/previous/ssafe

4. BitKeeper
URL : http://www.bitkeeper.com

주요 개념
저장소 (Repository)
- 소스코드가 있는 곳

작업공간 (Workspace)
- 개인 컴퓨터에 있는 소스 코드의 로컬 복사본. 저장소에서 작업공간으로 코드를 체크아웃하고, 작업을 한 후 다시 저장소로 코드를 체크인해 넣게 됩니다.

클라이언트(Client)
- 서버를 거쳐서 저장소에 접근하는 로컬 컴퓨터용 프로그램

서버 (Server)
- 저장소 앞에 놓여서 클라이언트의 요청을 처리하는 프로그램

가지 (Branch)
- 프로젝트를 가지 치면 여러 개발 경로를 갖게 됩니다. 예를 들어, 프로젝트의 가지중 하나는 현재 버젼의 버그를 수정하는 데 스입니다. 그리고 다른 버전은 다음 버전 개발에 사용됩니다.

꼬리표 (Tag)
- 특정 버젼의 파일, 디렉토리, 프로젝트 등을 구분하는 방법

병합 (Merge)
- 두 명 이상의 개발자가 같은 파일을 건드리고 있아면, 변경 내역을 하나로 합쳐야 하는 작업

잠금 (Lock)
- 잠금은 누가 어떤 파일을 변경할 것인지 SCM이 통제하는 방법입니다. 비관적인 잠금 시스템에서는 한 명만이 파일을 수정할 수  있습니다. 낙관적인 시스템에서는 한번에 여러사람이 파일을 수정할 수 있고, 체크인 될 때 모든 변경 내역이 자동으로 병합됩니다.