cvs命令總結

2021-05-09 09:23:31 字數 4500 閱讀 4705

我們的開發小組使用cvs作為配置管理工具,在linux下沒有合手的cvs客戶端,只有使用命令列了

下面是常用命令,從csdn某位老兄的blog上拷貝過來的。

環境變數的設定

export cvsroot=:pserver:[email protected]:/cvsrep 

重要的命令

比較cvs上最新**和本地的**的不同

cvs diff -c

比較某個日期與某個分支下的目錄/檔案

cvs diff -d 2002-1-3 -r cbs_rm dirname/filename

比較本地和昨天的目錄/檔案(如果本地的是今天最新的**,那就是比較昨天和今天的了)

cvs diff -d yesterday dirname/filename

增加帶有多級目錄和檔案的子目錄,方法是匯入乙個目錄 

比如原專案叫abc,在abc目錄下想增加乙個帶有多級目錄和檔案的目錄jni, 

cd jni 

cvs import -m "new dir jni" -n abc/jni

update本地不存在的目錄,比如別人上傳了目錄

cvs update -p -d

引數d就相當與wincvs的create missing directory...選項

常用的cvs命令

1. 匯入乙個源**庫: 

源**庫在目錄/home/testuser/project,其下有檔案test.c和test.h 

shell>cd /home/testuser/project 

shell>cvs import -m "test project" test(需要匯入的專案名) testuser(開發商資訊) start(版本資訊) 

2. 獲得第乙份工作copy 

shell>cd /home/testuser 

shell>cvs checkout test 

則目錄/home/testuser/test中就會有test.c和test.h兩個檔案 

3. 檢查工作拷貝(-q為去除無關的提示文字) 

shell>cvs -q diff -c(比較cvs上和本地的**的不同) 

如果希望檢視某一特定檔案的變化,在最後加上檔名 

4. 瀏覽記錄資訊 

shell>cvs log test.c 

5. 檢視兩個版本的不同之處: 

shell>cvs diff -c -r 1.3 -r 1.4 test.c 

6. 恢復舊版本:如果當前最新版本為1.4,而你想將其恢復到1.3版本,重新建立乙個新版本1.5 

shell>cvs -q update -p -r 1.3 hello.c > hello.c 

(如果沒有-p,表示檢驗出1.3版本,但是會sticky;加上-p,將1.3版本打到標準輸出中,且沒有sticky,此處覆蓋hello.c檔案) 

shell>cvs update hello.c 

(可選,但是一般ci之前都要update一次) 

shell>cvs ci -m "reverted to 1.3 code" hello.c 

或者 shell>cvs update -j 1.4 -j 1.3 hello.c 

(將1.4->1.3的差異,應用到當前版本上) 

shell>cvs update hello.c 

(可選,但是一般ci之前都要update一次) 

shell>cvs ci -m "reverted to 1.3 code" hello.c 

如果是目錄 

在你需要恢復的目錄下 

cvs tag tag_r1_0_0_2 

cvs update -j tag_r1_0_0_2 -j tag_r1_0_0_1 

cvs update 

cvs ci -m "restore to r1_0_0_1" 

或者 在你需要恢復的目錄的上一級目錄中 

cvs export -d project_name.old -r tag_r1_0_0_1 project_name 

cp -rf project_name.old/* project_name/ 

rm -rf project_name.old 

cvs update 

cvs ci -m "restore to r1_0_0_1" 

請注意,內容是恢復到了tag_r1_0_0_1,但是版本一直在增加。 

7. 增加檔案 

vi newfile 

cvs add newfile(若為二進位制檔案則用cvs add -kb readme.doc) 

cvs ci -m "add newfile" newfile 

8. 刪除檔案 

rm newfile.c 

cvs remove newfile.c 

cvs ci -m "removed newfile.c" newfile.c 

9. 增加目錄 

mkdir newdir 

cvs add newdir 

10. 要增加帶有多級目錄和檔案的子目錄,方法是匯入乙個目錄 

比如原專案叫abc,在abc目錄下想增加乙個帶有多級目錄和檔案的目錄jni, 

cd jni 

cvs import -m "new dir jni" abc/jni testuserimport r1_0_0_0 

然後,客戶端(自己和其他人的客戶端)需要 

cvs update -d 獲取最新的目錄更新 

11. 刪除目錄 

先刪除目錄下的所有檔案,然後 

cvs update -p 從工作copy中刪除空目錄,但是源**庫依然保留著空目錄 

如果需要更新工作copy的目錄與源**庫完全一致(主要是包括空目錄),需要 

cvs update -d 

如果不需要恢復,應該 

到伺服器上rm -rf刪除該目錄 

在客戶端,rm -rf刪除該目錄,然後在該目錄的同級cvs目錄下,修改entries檔案,刪除帶有該目錄名的一行 

12. 匯出不帶cvs目錄的原始檔,export只能針對乙個tag或者日期匯出,空目錄不會被匯出: 

cvs export -r release1 project_name 

cvs export -d 20021023 project_name 

cvs export -d now project_name 

cvs export和cvs co module的區別在於export不生成cvs目錄,也不匯出空目錄,用於作發布 

13. 確認版本里程碑 

cvs tag release_1_0 

14. 開始乙個新的里程碑,標記所有檔案開始進入2.x的開發 

cvs commit -m "make all release 2.0" -r 2.0 

cvs up -a 

15. 版本分支的建立 

在開發專案的2.x版本的時候發現1.x有問題,但2.x又不敢用, 

則從先前標記的里程碑:release_1_0匯出乙個分支release_1_0patch 

cvs rtag -b -r release_1_0 release_1_0patch projname 

一些人先在另外乙個目錄下匯出release_1_0patch這個分支:解決1.0中的緊急問題, 

cvs checkout -r release_1_0patch 

而其他人員仍舊在專案的主幹分支2.x上開發 

在release_1_0patch上修正錯誤後,標記乙個1.0的錯誤修正版本號 

cvs tag release_1_0patch_1 

如果2.0認為這些錯誤修改在2.0裡也需要,也可以在2.0的開發目錄下合併release_1_0patch_1 

中的修改到當前**中: 

cvs update -j release_1_0patch_1 

(將release_1_0patch->update -j release_1_0patch_1的改變,merge到當前的版本中) 

16.修改某個版本注釋: 

每次只確認乙個檔案到cvs庫里是乙個很好的習慣,但難免有時候忘了指定檔名, 

把多個檔案以同樣注釋commit到cvs庫里了,以下命令可以允許你修改某個檔案某個版本的注釋: 

cvs admin -m 1.3:"write some comments here" file_name 

修改從1.2->1.3checkin時的注釋 

17.在注釋中可以加入以下巨集,cvs會自動將其替換為相應的項 

$id$ $header$ $author$ $date$ $revision$ $log$ $source$ $name$ 

18.檢視當前各檔案的狀態,包括檔案的當前編輯版本號,源**庫版本號,檔案的狀態 

cvs status filename 

19.粘著選項 

cvs update -d "2004-10-09" 

刪除粘著,回到當前最新版本 

cvs update -a

cvs update 用法 cvs命令用法總結

一.checkout 簽出 cvs checkout anprcflnps r rev d date d dir j rev1 j rev2 k kopt modules.a 重置所有粘性標記 日期 kopts n 如果指定了 d選項,不要使用短模組路徑 p 刪除空目錄 r 操作應用於子目錄 c 顯...

cvs 命令收集

常用的cvs命令 匯入乙個源 庫 源 庫在目錄 home weiqiong project,其下有檔案test.c和test.h shell cd home weiqiong project shell cvs import m test project test 需要匯入的專案名 weiqiong...

CVS新增使用者的命令

1.在windows xp 上安裝cvs 伺服器端,cvsnt 2.在命令列視窗中首先登入cvs 命令如下 cvs d pserver administrator 127.0.0.1 mycvs login 注 這裡要用自己作業系統的管理員使用者代替administrator 3 新增使用者 cvs...