比較有用的命令是指,可能不常用,但是某個時刻你很需要的功能
1. 如何刪除提交的一個或多個版本
2. 如何修改提交的記錄檔
3. 如何察看在本地處於修改狀態(還未提交)的檔案
4. 如何察看某個提交(commit)裡麵包括了哪些檔案
1. 刪除提交的一個或多個版本
cvs admin -o range files...
參數說明:
range - 用來指定要刪除的版本範圍,如下所示:
rev1:rev2 Between rev1 and rev2, including rev1 and rev2.
rev1::rev2 Between rev1 and rev2, excluding rev1 and rev2.
rev: rev and following revisions on the same branch.
rev:: After rev on the same branch.
:rev rev and previous revisions on the same branch.
::rev Before rev on the same branch.
rev Just rev.
舉例:
cvs admin -o 1.20 test.cs
備忘:
這是一個物理刪除的命令,或者說是比較危險的。執行的時候需要admin的許可權,而且執行完成後它不會同時修改你的工作目錄檔案的Working revision,你可能需要執行cvs update -A file來進行對本地檔案的同步。另外,據cvsnt的維護人員稱因為該命令和cvs track changes的使命不符合,是不鼓勵使用的,而且他們也很久沒有對這個命令進行維護了。所以使用的時候要謹慎。
2. 修改提交的記錄檔
cvs -m rev:msg files...
參數說明:
rev - 指定要修改的日誌所在的版本號碼
msg - 你要修改成的資訊
舉例:
cvs -m 1.20:"This is a test to modify the log" test.cs
3. 察看在本地處於修改狀態(還未提交)的檔案
cvs -q stat -qq
cvs -nq up
備忘:
以上兩個命令都可以使用。其中第一個命令比較正式一點,第二命令是通過update功能來實現的,有點hack的感覺。不過還有有一些人用第二個命令因為它提供的輸出更加簡潔一點
範例輸出:
D:\test>cvs -q stat -qq
/test.cs Locally Modified
D:\test>cvs -nq up
M test.cs
4. 察看某個提交(commit)裡麵包括了哪些檔案
cvs -q log -SR -r@{commitID}
參數說明:
commitID - 你要查詢的commit的id,例如:2a446a0e26e0fb3
舉例:
cvs -q log -SR -r@2a446a0e26e0fb3
備忘:
這是一個文檔上沒有提及的隱藏功能,知道的人不多:)。