2009년 12월 3일 목요일

CVS 용어

//*********************

이 글들은 제가 공부하면서 정리하기 위한 목적이므로 틀린 부분이 있을 수 있습니다.

저 역시 CVS를 처음 접해서 알아 가고 있는 과정입니다.

//*********************

 

Repository : CVS를통해서작업하는소스, 문서등작업용파일이저장되는서버상의공간이다

Revision : 각 파일별로commit할 때마다 자동으로 더해지는 파일별 버전(임의로 리비전을뒤로돌리는것은불가능). 흔히CVS가관리하는번호며, 사용자가임의로수정할수없다.

Init : 저장소를초기화하는명령어. 프로젝트를시작할때한번만실행한다

Module : 하나의저장소에구분되어저장되는단위. 보통규모가작은프로젝트의경우하나의모듈이면되고, 큰프로젝트의경우에는컴퍼넌트별로모듈을나누거나버전별로나누는경우가있다

Import : 하나의모듈을서버에저장하는명령어

CheckOut : 서버에저장한모듈하나를통째로로컬에가져오는명령어

Update : 파일이나디렉토리를지정하여최신것이나특정리비전, 혹은특정날짜의것을서버에서 로컬로가져오는명령어

Add : 새로운파일을디렉토리에 추가했음을서버에알리는명령어. 파일의경우commit을하기전
까지서버에반영되지않는다

Remove : 파일을삭제했음을서버에알리는 명령어. add와마찬가지로commit하기 전까지서버에서지워지지않는다

Commit : 수정된 내역을 마치고 서버에반영한다는 의미의 명령어(DB에서commit과같은의미)

Tag : 특정 날짜나 릴리즈시에태그를 붙임으로써나중에 해당 릴리즈의리비전으로만가져올수 있게한다.(일반적으로 릴리즈 할 때 태그를 붙여 놓으면 해당 릴리즈 버젼에서 오류가 난 경우 해당 태그로 소스를 가져 와서 오류 점검을 할 수가 있습니다.)

Branch : 일부분혹은전체에서소스를별도로관리해야되는부분이생길때브랜치를사용한다. 브
랜치를사용하게되면리비전의깊이가달라진다(예: 1.1 > 1.1.2.1).

(브랜치는 별도의 기능을 따로 가져 가거나 기능 테스트를 위하는 경우 브렌치를 따서 점검을 하고 완료 되는 시점에 원래 버젼에 Merge 시키거나 혹은 다른 버젼으로 곁가지 쳐서 관리가 되는 경우입니다.)

 

 

댓글 2개:

  1. 2가지 사항만... :)

    리비전을 뒤로돌리는 것은 불가능 >> 이라기 보다. 리비전은 기록(이력)입니다. 이력을 뒤로 돌릴 필요는 없겠지요. 과거 리비전이 필요하면, 과거 리비전을 Get하면 되는 것입니다. :)



    CheckOut은 통체로 가지고 온단느 계념보다는, *** 파일을 이제부터 수정 할꺼에요. 라고 Check 해 두는 것입니다. :)

    답글삭제
  2. @머샤머샤 - 2009/12/04 09:33
    아... 좋은 정보 감사합니다.^^

    리비전의 개념은 이해가 가는데...



    체크아웃은 제가 레포지트리 에서 그 버젼을 추출해 가지고 오는게 아닌가여???



    체크아웃을 보면 태그나 시간 아니면 브랜치 명 같은 것으로 가져 올수 있는 기능들이 있던데...



    저는 그냥 이해하기를...

    해당 태그나 혹은 브랜치 또는 날짜로 그때에 맞는 버젼을 추출하는 기능으로 이해하고 있거든요....



    지금 제가 이걸 처음 사용하는거라 개념 잡기가 좀 힘드네요...ㅠ.ㅠ

    답글삭제