cvs用法總結(2)--cvs命令import,add,release,remove
一. login登錄
?cvs login
?會提示要求輸入密碼
二. logout 退出
?cvs logout
三. import 將源文件導入到cvs倉庫
?cvs import [-d] [-k subst] [-I ign] [-m msg] [-b branch] [-W spec] repository vendor-tag release-tags...
?
?-d ??將文件的修改時間作為導入時間
?-k sub??設置默認的RCS關鍵字替換模式
?-I ign??忽略文件(使用!重置)
?-b bra??分支的標識
?-m msg??日志信息
?-W spec??包裝指定行
?使用范例
?(1)將一個新項目導入到倉庫
??1.假設項目在本地文件夾testproject下,進入該目錄,清除里面所有不需要提交的內容
??2.執行命令
???cvs import -m"test log message" -ko test/aoxj/ testprojuect test
??其中test/aoxj/指在倉庫中的位置,testprojuect是項目名稱,test發布標識
??3.可以用check 從倉庫中獲取這個新導入的項目
???cvs co test/aoxj/testproject
?(2)創建項目的另一個方法:建立一個空倉庫在添加一個新項目
??1.遷出倉庫的頂級目錄
???cvs co -l -d tmp .
??2.在這個遷出的工作區中建立新項目,使用add命令加入倉庫
???makedir newproject
???cvs add newproject
??3.測試刪除這個簽出的工作區
???cvs release -d tmp
??4.再次簽出項目
???cvs co newproject
四. add 添加新文件/目錄
?cvs add [-k rcs-kflag] [-m message] files...
?-k?使用rcs-kflag添加具有指定kflag的文件,通過使用"-kb"添加二進制文件到倉庫中
?-m?使用message來創建日志
使用范例:
?(1)添加二進制文件
?cvs add -kb -m"add a binary file" test.doc
?如果不使用-kb,則默認是按照text格式提交,會破壞文件。
?(2)忘記-kb提交二進制文件的補救
??如果是進行了add但是還沒有commit,則可以使用實現方法:
?1.忘了加-kb
??cvs add test.doc
?2.本地改名
??mv test.doc temp.doc
?3.刪除文件
??cvs remove test.doc
?4.取回原來的文件
??mv temp.doc test.doc
?5.再次add并commit
??cvs add -kb test.doc
??cvs commit test.doc
??如果是commit之后才發現錯誤,最安全的方式是修改CVS倉庫中的標記,然后再更新cvs倉庫.
?1.錯誤的commit了文件
??cvs add test.doc
??cvs commit test.doc
?2.重置cvs倉庫的標記
??cvs admin -kb test.doc
?3.重置本地工作區的標志
??cvs update -A test.doc
?4.從正確的文件覆蓋本地工作區的文件
??cp /**/test.doc test.doc
?5.提交到倉庫
??cvs commit -m "new binary file" test.doc
五.admin 管理倉庫
?cvs admin rcsoptions ...
?-k 使用"rcs-kflag"來改變與一個文件相關的標記,常用于將文件的狀態修改為二進制(使用"-kb")
六. release 刪除本地模塊
?cvs release [-d] directories ...
?-d 刪除給定目錄的本地副本
?使用范例:
???cvs release -d test/aoxj/testproject
??這樣會將本地工作區中的test/aoxj/testproject目錄刪除,但是不影響cvs倉庫中文件
七. remove 從cvs倉庫中刪除條目
?cvs remove [-flR] [files ...]
?-f?在移除之前刪除文件
?-l?只有本目錄,不包括子目錄
?-R?操作應用于子目錄
?使用范例:
?(1) 從cvs倉庫中刪除文件
??cvs remove a.txt
??會報錯,表示該文件在本地工作區中依然存在,需要先刪除本地工作區中的文件
???cvs server: file `a.txt' still in working directory
???cvs server: 1 file exists; remove it first
??可以手工用rm命令刪除,也可以使用-f參數在提交cvs remove命令前先刪除文件
???cvs remove -f a.txt
??會出現提示
???cvs server: use 'cvs commit' to remove this file permanently
??表示本地副本已經被刪除,要求用commit命令提交到倉庫,如果這個時候使用update
??明亮,會看到
???R a.txt
??注意a.txt前面的R.最后在用commit提交刪除倉庫中的文件:
???cvs commit a.txt
?(2)從cvs倉庫中刪除文件夾
??cvs remove -fR foldername
??可以刪除foldername文件夾下的文件,但是無法刪除目錄
posted on 2006-09-21 11:15 sky ao 閱讀(14932) 評論(0) 編輯 收藏 所屬分類: Version Control