상세 컨텐츠

본문 제목

CVS 사용법 - 초간단!!!

program

by seongchan 2007. 2. 11. 00:16

본문

* 기존에 CVS 서버가 등록되어서 사용하고 있는 것을 가정한다.

1. 새로 진행하는 프로젝트의 소스파일을 CVS에 등록해서 쓰고 싶어요. (import)

새로 등록하고자 하는 프로젝트의 파일들이 있는 디렉토리로 이동한다.
여기서 다음과 같이 입력한다.

cvs import -m "blar blar project!!!" projectA MyTeam start

? import : 새로 프로젝트를 등록할때 쓰는 CVS 명령. 뒤에 따라오는 -m 옵션은 코멘트다.
? projectA : 나중에 check out 받을때 쓰는 프로젝트 이름
? MyTeam : 나중에 별도 분리해서 받을때 쓴다고 하는데.. 그런게 없다면... 특별한 이름을 기입할 필요는 없음. (크지 않은 프로젝트는 참여자들외에 서로 나눠서 가지치기가 복잡해지지 않을듯 함)
? start : 특별한 이름을 기입할 필요는... 없을듯.. 어차피 시작하는 부분이니까 편의상 start로 쓰는게 맘 편함

* 프로젝트 등록시에 CVS 서버 설정에 따라서 등록이 안되는 파일이 있을 수 있다.
* 소스만 관리한다면, 소스 컴파일해서 나오는 오브젝트 파일은 가급적 등록되지 않게 하라.
* 오브젝트 파일은 등록하지 않아야 하나, 오브젝트 파일이 생성되는 output 디렉토리는 가급적 만들어 두는게 낫다.
* 최종 결과물 (오브젝트가 묶인 라이브러리 파일)은 경우에 따라서 버전관리가 필요할 수 있다. 이 경우는 바이너리 파일이라도 check in 할 수 있는 공간은 만들자.


2. 필요없는 파일이군. -_-a 어떻게 하지? (remove)
방법은 두가지다.

1) CVS가 설치된 서버에 접속해서 아예 파일을 삭제해 버린다.
얼씨구나. 좋구나.
나중에 필요할지도 모르니 이 방법은 별로 좋지 않다.

2) remove 명령을 쓰자
일반적인 방법이 좋다.
아래와 같이 하면 새로 check out 받을때에는 삭제된 파일은 내려받지 않는다.

cvs remove -m "blar blar delete file" delete.txt

? remove : CVS에서 삭제하는 명령. -m 옵션은 역시 코멘트다.
? delete.txt : 삭제하려는 파일명을 쓴다. 여러개 파일을 삭제하려면 공백으로 구분해서 기입하면 된다.


3. 소스를 받아 보아요. (check out)

cvs co ProjectA

cvs co -r tagging_name ProjectA

? co : 내려 받는 CVS 명령이다. 뒤에 딸려오는 -r 은 버전 꼬리표


4. 나, 수정했어. 올려야쥐!!! (commit)
 
cvs ci -m "blar blar comment" updated_file.txt

? ci : 로컬에 갱신된 파일을 서버에 올리는 CVS 명령.
? update_file.txt : 갱신한 파일명. 여러개 있다면? 역시 공백으로 구별해서 이어서 쓴다.


5. 새로 코드를 작성했는걸!! (add)
기존에 있던 코드가 아니라면, 우선 CVS 서버에 새로운 파일을 등록(add)한 후에 파일을 올려야 한다.

cvs add added_file
cvs ci -m "blar blar... new file add!!" added_file

? add : 새로운 파일을 등록하는 CVS 명령
? added_file : 새로 등록할 파일명. 여러개 있다면? 역시 공백으로 구별해서 이어서 쓴다.

6. 꼬리표를 달아보자 (tag)
작업 중인 코드들에 대해서 꼬리표를 달 수 있다.
tag, rtag 두가지 명령을 이용할 수 있는데, 기본적으로 사용방법은 다음과 같다.

cvs tag tagging_name ProjectA
cvs rtag tagging_name ProjectA

tag와 rtag 모두 꼬리표를 달아두는 명령인데, 차이가 있다면 rtag는 CVS 서버에 올려진 데이터를 기준으로 꼬리표를 달아둔다.
작업을 하고 나서 전체적으로 태깅을 달고 싶다면 rtag를 권한다.
담당자만 별도 꼬리표를 달아 두고자 한다면, 현재 자신의 소스를 기준으로 하고 싶을때가 있으니 이때는 tag 명령을 이용한다.

어찌되었던간에 중요한건 꼬리표를 달때 내부적으로 규칙을 정해서 쓰는게 낫다.

7. 더 많은 내용을 알고 싶어요!!!!
사이트 :
 - KLDP 사이트에서 "CVS 이야기"를 찾아 본다.
 - CVS 사용자를 위한 Subversion 팁

책 :
  실용주의 프로그래머를 위한 버전 관리 using CVS - 인사이트

관련글 더보기

댓글 영역