Search

버전 관리 도구

버전관리란 동일한 소스코드에 대한 여러 버전을 관리하는것을 말한다. 팀 단위로 개발중인 소스코드나 설계도 등의 디지털 문서를 관리하는데 사용된다. 숫자나 문자로 구분되어 사용되는 “버전”을 부여하여 변경된 시간과 변경 사항, 작업자를 추적할 수 있다.
일반적인 버전 관리 도구의 사용방식은 다음과 같다.
add 로컬 컴퓨터 또는 서버에 파일을 추가하는 행위
check out 추가된 파일을 인출하는 행위
commit 인출된 파일을 수정한 다음, 저장소에 예치하며 설명을 덧붙이는 행위
update 저장소와 자신의 작업공간을 동기화 하는 행위
diff add나 commit된 파일의 수정기록(change log)을 보면서 추가한 파일과 변경한 파일의 차이를 보는 행위
버전 관리 방법의 종류는 다음과 같다.
공유폴더 방식
버전 관리 자료가 로컬 컴퓨터의 공유폴더에 저장되어 관리되는 방식
개발자들을 개발이 완료된 파일을 약속된 공유 폴더에 매일 복사함
담당자는 공유폴더의 파일을 자기 PC로 복사해 컴파일 한 후 이상 유무를 확인함
파일의 변경사항을 데이터베이스에 기록하여 관리함
클라이언트/서버 장식
버전 관리 자료가 중앙 시스템(서버)에 저장되어 관리되는 방식
서버의 자료를 개발자별로 자싱릐 PC로 복사해 작업한 후, 변경내용을 중앙서버에 반영함
모든 버전관리는 서버에서 수행됨
하나의 파일을 서로 다른 개발자가 작업할 경우 경고 메시지 출력
서버에 문제가 생기면 다른 개발자와의 협업 및 버전 관리 작업은 중단됨
CVS(Concurrent Versions System), SVN(Subversion)이 포함됨
분산저장소 방식
하나의 원격 저장소와 분산된 개발자 PC의 로컬 저장소에 함께 저장되어 관리되는 방식이다.
개발자별로 원격저장소의 자료를 자신의 로컬 저장소로 복사해 작업한 후, 변경된 내용을 로컬 저장소에서 우선반영(commit)한 이후 원격 저장소에 반영(push)함
원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용해 작업이 가능함
로컬 저장소에서 작업을 수행할 수 있어 처리속도가 빠름
Git, Bitkeeper이 포함됨