1.???????
CVS
環境初始化
1.1????????
指定
CVS
庫的路徑
CVSROOT
在使用用戶名和密碼登陸后,使用命令 vi . bash_profile
然后在最后一行添加
CVSROOT =: pserver : username@172.16.1.3 : /app
export CVSROOT
保存后退出(命令見 vi 的培訓文檔)
Logout 后重新登陸
輸入命令 set ?| ?pg 可以查看當前的環境變量,是否已經有 CVSROOT 這一項
2.???????
CVS
的
常用命令
2.1????????
登陸
CVS
服務器
命令: cvs? login
系統會提示你輸入密碼,輸入正確后,就可以正常使用
cvs
的其他命令了
2.2????????
項目首次導入
命令:
cvs import -m "write some comments here" project_name vender_tag r_tag
2.3????????
項目導出:將代碼從
CVS
庫里導出
命令: cvs checkout project_name
2.4????????
提交修改后的代碼
命令:
cvs commit -m "write some comments here" file_name
注意:
CVS
的很多動作都是通過cvs commit進行最后確認并修改的,在確認的前,還需要用戶填寫修改注釋,以幫助其他開發人員了解修改的原因。如果不用寫-m "comments"而直接確認`cvs commit file_name` 的話,cvs會自動調用系統缺省的文字編輯器(一般是vi)要求你寫入注釋。
2.5????????
同步項目
命令: cvs update -m "write some comments here" file_name|dir|none
注意:
不要使用項目首次導出后,以后就要用cvs update在導出的項目目錄下進行同步了,而不是每次重新cvs checkout來同步文件了。如果導出后修改了文件,然后再次從導出的項目目錄的上一級cvs checkout proj等于是刪除了proj目錄然后重新導出,上次導出后的修改就全丟了。
2.6????????
刪除文件
命令:
cvs rm file_name
2.7????????
添加文件
命令: cvs add new_file
注意:文件必須先添加,然后才能提交
commit
2.8????????
查看歷史
cvs log file_name
cvs history file_name
2.9????????
查看本地文件與服務器文件的不同
cvs diff filename
3.???????
項目
CVS
日常工作流程
1.???????? 開始加入項目
首先在設置完
CVSROOT
和登陸完以后,在自己的工作目錄下面
checkout
項目
cvs checkout PPC
(項目名稱)
2.???????? 每日的 Daily Build 的流程
2.1?????????
首先第一步在工作目錄下面進入
PPC
,然后
Update
項目
?
命令:
cvs update
//
執行的順序必須是首先
update
,然后才能進行
commit
等任務
下面是
update
的信息
? DIRTestLog/TestSimple??????????? ?//
?表示
CVS
服務器上沒有的文件
? DIRTestLog/TestSimple.cpp
? DIRTestLog/simple.conf
cvs server: Updating .???????????????????? //Update
開始
cvs server: Updating DIRTestBtrees???????? //
表示在
Update
某個文件夾
cvs server: Updating DIRTestGetIP
RCS file: /app/PrePPC/DIRTestGetIP/makefile,v
retrieving revision 1.4
retrieving revision 1.5
Merging differences between 1.4 and 1.5 into makefile
rcsmerge: warning: conflicts during merge
cvs server: conflicts found in DIRTestGetIP/makefile
C DIRTestGetIP/makefile?????? ??????????????//C
表示文件有沖突
U DIRTestGetIP/test.cpp???????????????????? ?//U
表示文件被
Update
下來
M DIRTestLog/core???????????? //M
表示文件被修改,本地版本比服務器新
2.2?????????
?開頭的文件如何處理
表示你的本地有而服務器上沒有,這時候你需要往 CVS 服務器添加文件
cvs add 文件名
cvs commit - m? “注釋” 文件名
這樣你就可以向 CVS 服務器增加文件了
2.3?????????
M
開頭的文件
cvs commit - m? “注釋” 文件名
2.4?????????
C
表示文件有沖突,這時需要用
vi
查看文件,會記錄沖突的地方
如果文件有沖突,通常是有 2 個以上的人修改了該文件,可以查看歷史找到相關人,然后和相關人進行確認修改的地方,然后再 commit 文件
2.5?????????
如何刪除文件
rm filename (文件名)
cvs delete filename (文件名)
cvs commit –m “ 注釋 ”? filename (文件名)
2.6?????????
添加文件夾和刪除文件夾
與添加文件與刪除文件類似,要注意的是文件夾被添加后,需要里面有文件才能真正被增加到 CVS 服務器上,刪除文件夾需要先刪除下面的文件