資料介紹
CVS系統(tǒng)簡(jiǎn)介
2007-04-23 22:02:51
分享到:CVS系統(tǒng)簡(jiǎn)介
一、什么是CVS?
CVS
――Concurrent Versions System并行版本系統(tǒng);
是一個(gè)標(biāo)準(zhǔn)的版本控制系統(tǒng);
對(duì)代碼進(jìn)行集中管理;
記錄代碼所有的更改歷史;
提供協(xié)作開發(fā)的功能;
支持多人同時(shí)CheckOut與合并。
以客戶端/服務(wù)器模式工作,所有的用戶都在客戶端進(jìn)行CVS操作,而所有命令的執(zhí)行都在CVS服務(wù)器端進(jìn)行。
二、CVS基本概念
CVS倉(cāng)庫(kù):又稱主拷貝,是CVS系統(tǒng)保存軟件資源的地方。所有項(xiàng)目的所有文件的所有版本都保存在這個(gè)倉(cāng)庫(kù)中。
版本:開發(fā)人員每次向CVS提交所做的修改就形成了一個(gè)新版本。
工作拷貝:從CVS服務(wù)器端取出的,保存在我們正在使用的客戶端計(jì)算機(jī)上的代碼拷貝。每個(gè)人員都有一個(gè)屬于自己的工作拷貝。
檢出代碼(創(chuàng)建工作拷貝check out):從服務(wù)器取出代碼,就是創(chuàng)建工作拷貝的過(guò)程。
提交代碼(commit):將代碼送到服務(wù)器保存,commit又叫作check in。
導(dǎo)入代碼(import):將未被CVS進(jìn)行版本管理的代碼引入CVS系統(tǒng)中,由CVS開始對(duì)它進(jìn)行版本管理。
CVS日志:CVS用來(lái)記錄每次操作的內(nèi)容的信息。日志信息可以用cvs log命令來(lái)查看。
更新(update):在協(xié)同開發(fā)環(huán)境下,將其他人所作的最新修改從CVS倉(cāng)庫(kù)中取到你的工作拷貝中,從而使得你得工作拷貝與倉(cāng)庫(kù)中得最新版本保持一致。使用update是同步各個(gè)工作拷貝的手段。
沖突(conflict):在協(xié)同開發(fā)的環(huán)境下,當(dāng)兩個(gè)開發(fā)人員對(duì)同一個(gè)文件進(jìn)行修改,并且依次提交CVS倉(cāng)庫(kù)時(shí)就發(fā)生了沖突。這種沖突需要開發(fā)人員手工消除,并提交到CVS倉(cāng)庫(kù)中形成解除沖突之后的新版本。
三、CVS命令:
1.
設(shè)置環(huán)境變量。
set CVSROOT=:pserver:[email protected]:e:/cvsroot
set CVSROOT=:pserver:[email protected].org:e:/cvsroot
2.簽出工作版本到工作目錄。
$cd
$cvs co account/src/common
該命令只將account/src/common目錄結(jié)構(gòu)簽出到本地。若使用
$cvs co account
則將account下所有目錄結(jié)構(gòu)簽出來(lái)。
3.
提交修改的文件到CVS版本庫(kù)中:
$cvs ci 《filename》
注意若提交多個(gè)文件可以輸入多個(gè)文件名,并以空格分開。若將該目錄下所有文件都提交,那么只需
$cvs ci 《回車》
即可。
4.
提交新增加的目錄或文件到CVS版本庫(kù)中:
$cvs add 《dirname》
$cvs ci 《dirname》
$cvs add 《filename》
$cvs ci 《filename》
5.
刪除目錄及文件,需先刪除目錄下的文件
$rm 《filename》
$cvs remove 《filename》
$cvs ci 《filename》
再執(zhí)行
$cd 。.
$cvs up –P
則將該空目錄刪除(只是刪除本地工作拷貝的空目錄)。
6.
查看文件狀態(tài)
$cvs status 《filename》
例如:
$ cvs st ffun.c
=================================================================
File: ffun.c Status: Up-to-date
Working revision: 1.1 Wed Nov 6 11:29:04 2002
Repository revision: 1.1 /szunicom/dev/billing/src/preproc/CDMA/ffun.c,v
Sticky Tag: (none)
Sticky Date: (none)
Sticky Options: (none)
注意:最重要的是Status欄,可以有以下幾種狀態(tài):
Up-to-date
?。罕砻髂愕墓ぷ骺截愂亲钚碌模?br /> Locally Modified:表明你曾經(jīng)修改過(guò)該文件,但還沒(méi)有提交,你的版本比倉(cāng)庫(kù)里的新.
Needing Patch:表明有人已經(jīng)修改過(guò)該文件并且已經(jīng)提交了!你沒(méi)有修改但你的工作拷貝的版本比倉(cāng)庫(kù)里的舊.
Needs Merge:表明你修改了該文件但沒(méi)有提交,而有人也修改了這個(gè)文件,并且提交給倉(cāng)庫(kù)了。
Locally added
?。罕砻魇褂昧恕癮dd”命令增加了該文件,但還沒(méi)有“commit”
Locally Removed
?。罕砻髂闶褂昧恕皉emove”命令,但還沒(méi)有“commit”
Unkown
?。篊VS不知道關(guān)于這個(gè)文件的情況。例如,你創(chuàng)建了一個(gè)新文件,而沒(méi)有使用“add”命令
解決辦法:
若狀態(tài)為L(zhǎng)ocally Modified,則需執(zhí)行$cvs ci 《filename》
若狀態(tài)為Needing Patch或Needing Merge,則需執(zhí)行$cvs up 《filename》
將版本庫(kù)里的文件與工作拷貝合并后,再提交給版本庫(kù),使用命令:
$cvs ci 《filename》
。
若狀態(tài)為:Locallyadded,則需執(zhí)行$cvs ci 《filename》
若狀態(tài)為:Removed,則需執(zhí)行$cvs ci 《filename》
若狀態(tài)為:Unkown,則需執(zhí)行$cvs add 《filename》,$cvs ci 《filename》。
7.
查看工作拷貝和倉(cāng)庫(kù)中最后版本之間的修改
$ cvs diff src.c
8.
查看指定的兩個(gè)版本之間的修改
$ cvs diff -r 1.1 -r 1.2 《filename》
9.
版本回退(取出以前的某個(gè)版本)
有兩種方式:
一是只把某一版本的文件輸出到標(biāo)準(zhǔn)輸出上:
$cvs up –p –r 《版本號(hào)》 《filename》
“-p”選項(xiàng)讓CVS命令的結(jié)果只輸出到標(biāo)準(zhǔn)輸出,而不寫入到結(jié)果文件中。
另一種是將輸出到標(biāo)準(zhǔn)輸出的結(jié)果重定向到文件中:
$cvs up –p –r 《版本號(hào)》 《filename》 》 《filename》
如:目前abc.c文件的版本號(hào)為1.5,要取出1.2的版本,那么執(zhí)行
$cvs up –p –r 1.2 abc.c 》 abc.c
若沒(méi)有使用“-p”選項(xiàng)進(jìn)行回退,而是使用了$cvs up –r 1.2 abc.c命令,之后若對(duì)1.2版本進(jìn)行修改后再提交到CVS時(shí),會(huì)出現(xiàn)如下提示信息:
cvs ci
cvs commit: Examining 。
cvs commit: sticky tag `1.2‘ for file `abc.c’ is not a branch
cvs [commit aborted]: correct above errors first!
解決辦法兩種方式:
1
、修改CVS/Entries文件,將以下黃色標(biāo)記部分刪除即可。
$cd CVS
$ vi E*
/abc.c/1.2/Tue Dec 17 13:33:06 2002//T1.2
D
~
~
2、使用$cvs up –A abc.c命令來(lái)消除附著標(biāo)簽,但是該命令是將1.2版本與最新版本進(jìn)行了合并,還需對(duì)abc.c進(jìn)行修改再重新提交。
10.
如何恢復(fù)已經(jīng)刪除的文件或目錄:
1. 在執(zhí)行了【Remove】命令之后恢復(fù)文件。 ◇ 【Ctrl+L】直接輸入命令cvs add xxxxx,或執(zhí)行【Add Selection】界面操作。 ◇ 這樣就可以直接恢復(fù)還未提交的刪除文件。
2. 在執(zhí)行了【Commit】命令之后恢復(fù)文件。 ◇ 只能用【Ctrl+L】直接輸入命令cvs add xxxxx,這時(shí)會(huì)得到一個(gè)空的文件。 ◇ 選中這個(gè)空文件,執(zhí)行【Update】操作,得到這個(gè)文件的實(shí)體。 ◇ 再次選中這個(gè)文件,執(zhí)行【Commit】操作,得到這個(gè)文件最新版本。
3. 由于CVS系統(tǒng)中本質(zhì)上不會(huì)刪除任何目錄,因此,談不上對(duì)目錄的恢復(fù),但是CVS系統(tǒng)默認(rèn)情況下是要在用戶本機(jī)上(如:YCW2000)要?jiǎng)h除空目錄,因此,可以用如下方法得到已被刪除的空目錄:cvs checkout -p xxx,也可以在Admin=》Preference的【Globals】頁(yè)面進(jìn)行設(shè)置。
?
2007-04-23 22:02:51
分享到:CVS系統(tǒng)簡(jiǎn)介
一、什么是CVS?
CVS
――Concurrent Versions System并行版本系統(tǒng);
是一個(gè)標(biāo)準(zhǔn)的版本控制系統(tǒng);
對(duì)代碼進(jìn)行集中管理;
記錄代碼所有的更改歷史;
提供協(xié)作開發(fā)的功能;
支持多人同時(shí)CheckOut與合并。
以客戶端/服務(wù)器模式工作,所有的用戶都在客戶端進(jìn)行CVS操作,而所有命令的執(zhí)行都在CVS服務(wù)器端進(jìn)行。
二、CVS基本概念
CVS倉(cāng)庫(kù):又稱主拷貝,是CVS系統(tǒng)保存軟件資源的地方。所有項(xiàng)目的所有文件的所有版本都保存在這個(gè)倉(cāng)庫(kù)中。
版本:開發(fā)人員每次向CVS提交所做的修改就形成了一個(gè)新版本。
工作拷貝:從CVS服務(wù)器端取出的,保存在我們正在使用的客戶端計(jì)算機(jī)上的代碼拷貝。每個(gè)人員都有一個(gè)屬于自己的工作拷貝。
檢出代碼(創(chuàng)建工作拷貝check out):從服務(wù)器取出代碼,就是創(chuàng)建工作拷貝的過(guò)程。
提交代碼(commit):將代碼送到服務(wù)器保存,commit又叫作check in。
導(dǎo)入代碼(import):將未被CVS進(jìn)行版本管理的代碼引入CVS系統(tǒng)中,由CVS開始對(duì)它進(jìn)行版本管理。
CVS日志:CVS用來(lái)記錄每次操作的內(nèi)容的信息。日志信息可以用cvs log命令來(lái)查看。
更新(update):在協(xié)同開發(fā)環(huán)境下,將其他人所作的最新修改從CVS倉(cāng)庫(kù)中取到你的工作拷貝中,從而使得你得工作拷貝與倉(cāng)庫(kù)中得最新版本保持一致。使用update是同步各個(gè)工作拷貝的手段。
沖突(conflict):在協(xié)同開發(fā)的環(huán)境下,當(dāng)兩個(gè)開發(fā)人員對(duì)同一個(gè)文件進(jìn)行修改,并且依次提交CVS倉(cāng)庫(kù)時(shí)就發(fā)生了沖突。這種沖突需要開發(fā)人員手工消除,并提交到CVS倉(cāng)庫(kù)中形成解除沖突之后的新版本。
三、CVS命令:
1.
設(shè)置環(huán)境變量。
set CVSROOT=:pserver:[email protected]:e:/cvsroot
set CVSROOT=:pserver:[email protected].org:e:/cvsroot
2.簽出工作版本到工作目錄。
$cd
$cvs co account/src/common
該命令只將account/src/common目錄結(jié)構(gòu)簽出到本地。若使用
$cvs co account
則將account下所有目錄結(jié)構(gòu)簽出來(lái)。
3.
提交修改的文件到CVS版本庫(kù)中:
$cvs ci 《filename》
注意若提交多個(gè)文件可以輸入多個(gè)文件名,并以空格分開。若將該目錄下所有文件都提交,那么只需
$cvs ci 《回車》
即可。
4.
提交新增加的目錄或文件到CVS版本庫(kù)中:
$cvs add 《dirname》
$cvs ci 《dirname》
$cvs add 《filename》
$cvs ci 《filename》
5.
刪除目錄及文件,需先刪除目錄下的文件
$rm 《filename》
$cvs remove 《filename》
$cvs ci 《filename》
再執(zhí)行
$cd 。.
$cvs up –P
則將該空目錄刪除(只是刪除本地工作拷貝的空目錄)。
6.
查看文件狀態(tài)
$cvs status 《filename》
例如:
$ cvs st ffun.c
=================================================================
File: ffun.c Status: Up-to-date
Working revision: 1.1 Wed Nov 6 11:29:04 2002
Repository revision: 1.1 /szunicom/dev/billing/src/preproc/CDMA/ffun.c,v
Sticky Tag: (none)
Sticky Date: (none)
Sticky Options: (none)
注意:最重要的是Status欄,可以有以下幾種狀態(tài):
Up-to-date
?。罕砻髂愕墓ぷ骺截愂亲钚碌模?br /> Locally Modified:表明你曾經(jīng)修改過(guò)該文件,但還沒(méi)有提交,你的版本比倉(cāng)庫(kù)里的新.
Needing Patch:表明有人已經(jīng)修改過(guò)該文件并且已經(jīng)提交了!你沒(méi)有修改但你的工作拷貝的版本比倉(cāng)庫(kù)里的舊.
Needs Merge:表明你修改了該文件但沒(méi)有提交,而有人也修改了這個(gè)文件,并且提交給倉(cāng)庫(kù)了。
Locally added
?。罕砻魇褂昧恕癮dd”命令增加了該文件,但還沒(méi)有“commit”
Locally Removed
?。罕砻髂闶褂昧恕皉emove”命令,但還沒(méi)有“commit”
Unkown
?。篊VS不知道關(guān)于這個(gè)文件的情況。例如,你創(chuàng)建了一個(gè)新文件,而沒(méi)有使用“add”命令
解決辦法:
若狀態(tài)為L(zhǎng)ocally Modified,則需執(zhí)行$cvs ci 《filename》
若狀態(tài)為Needing Patch或Needing Merge,則需執(zhí)行$cvs up 《filename》
將版本庫(kù)里的文件與工作拷貝合并后,再提交給版本庫(kù),使用命令:
$cvs ci 《filename》
。
若狀態(tài)為:Locallyadded,則需執(zhí)行$cvs ci 《filename》
若狀態(tài)為:Removed,則需執(zhí)行$cvs ci 《filename》
若狀態(tài)為:Unkown,則需執(zhí)行$cvs add 《filename》,$cvs ci 《filename》。
7.
查看工作拷貝和倉(cāng)庫(kù)中最后版本之間的修改
$ cvs diff src.c
8.
查看指定的兩個(gè)版本之間的修改
$ cvs diff -r 1.1 -r 1.2 《filename》
9.
版本回退(取出以前的某個(gè)版本)
有兩種方式:
一是只把某一版本的文件輸出到標(biāo)準(zhǔn)輸出上:
$cvs up –p –r 《版本號(hào)》 《filename》
“-p”選項(xiàng)讓CVS命令的結(jié)果只輸出到標(biāo)準(zhǔn)輸出,而不寫入到結(jié)果文件中。
另一種是將輸出到標(biāo)準(zhǔn)輸出的結(jié)果重定向到文件中:
$cvs up –p –r 《版本號(hào)》 《filename》 》 《filename》
如:目前abc.c文件的版本號(hào)為1.5,要取出1.2的版本,那么執(zhí)行
$cvs up –p –r 1.2 abc.c 》 abc.c
若沒(méi)有使用“-p”選項(xiàng)進(jìn)行回退,而是使用了$cvs up –r 1.2 abc.c命令,之后若對(duì)1.2版本進(jìn)行修改后再提交到CVS時(shí),會(huì)出現(xiàn)如下提示信息:
cvs ci
cvs commit: Examining 。
cvs commit: sticky tag `1.2‘ for file `abc.c’ is not a branch
cvs [commit aborted]: correct above errors first!
解決辦法兩種方式:
1
、修改CVS/Entries文件,將以下黃色標(biāo)記部分刪除即可。
$cd CVS
$ vi E*
/abc.c/1.2/Tue Dec 17 13:33:06 2002//T1.2
D
~
~
2、使用$cvs up –A abc.c命令來(lái)消除附著標(biāo)簽,但是該命令是將1.2版本與最新版本進(jìn)行了合并,還需對(duì)abc.c進(jìn)行修改再重新提交。
10.
如何恢復(fù)已經(jīng)刪除的文件或目錄:
1. 在執(zhí)行了【Remove】命令之后恢復(fù)文件。 ◇ 【Ctrl+L】直接輸入命令cvs add xxxxx,或執(zhí)行【Add Selection】界面操作。 ◇ 這樣就可以直接恢復(fù)還未提交的刪除文件。
2. 在執(zhí)行了【Commit】命令之后恢復(fù)文件。 ◇ 只能用【Ctrl+L】直接輸入命令cvs add xxxxx,這時(shí)會(huì)得到一個(gè)空的文件。 ◇ 選中這個(gè)空文件,執(zhí)行【Update】操作,得到這個(gè)文件的實(shí)體。 ◇ 再次選中這個(gè)文件,執(zhí)行【Commit】操作,得到這個(gè)文件最新版本。
3. 由于CVS系統(tǒng)中本質(zhì)上不會(huì)刪除任何目錄,因此,談不上對(duì)目錄的恢復(fù),但是CVS系統(tǒng)默認(rèn)情況下是要在用戶本機(jī)上(如:YCW2000)要?jiǎng)h除空目錄,因此,可以用如下方法得到已被刪除的空目錄:cvs checkout -p xxx,也可以在Admin=》Preference的【Globals】頁(yè)面進(jìn)行設(shè)置。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- CVS塑殼斷路器產(chǎn)品目錄 4次下載
- 機(jī)械、液壓傳動(dòng)系統(tǒng)簡(jiǎn)介 0次下載
- 覆銅基板工藝流程簡(jiǎn)介 0次下載
- 第4章:程序編寫和調(diào)試環(huán)境簡(jiǎn)介PPT下載 13次下載
- 面向工程師和科學(xué)家的MATLAB簡(jiǎn)介電子版 0次下載
- 送風(fēng)調(diào)節(jié)系統(tǒng)簡(jiǎn)介資料下載
- labview通信原理實(shí)驗(yàn)系統(tǒng)簡(jiǎn)介 38次下載
- CVS_V1.12.13軟件免費(fèi)下載 211次下載
- 在linux下安裝CVS 0次下載
- Android操作的系統(tǒng)簡(jiǎn)介 13次下載
- 倒車影像系統(tǒng)簡(jiǎn)介 16次下載
- CVS和Nightly Build技術(shù)筆記 0次下載
- 基于CVS的OPNET模型配置管理研究 0次下載
- CVS和Nightly Build技術(shù) 0次下載
- CAN數(shù)據(jù)總線系統(tǒng)簡(jiǎn)介
- Xpedition Schematic Analysis原理圖完整性分析工具簡(jiǎn)介 745次閱讀
- 產(chǎn)品簡(jiǎn)介 | RZ/A系列MPU 454次閱讀
- CAN和CANFD協(xié)議簡(jiǎn)介(下) 1205次閱讀
- CAN和CANFD協(xié)議簡(jiǎn)介(上) 1526次閱讀
- Kafka 的簡(jiǎn)介 646次閱讀
- DLL簡(jiǎn)介 1577次閱讀
- 低噪聲放大器簡(jiǎn)介 2045次閱讀
- AC/DC開關(guān)電源簡(jiǎn)介 3753次閱讀
- 51單片機(jī)指令系統(tǒng)的詳細(xì)資料簡(jiǎn)介 5574次閱讀
- MATLAB基礎(chǔ)知識(shí)MATLAB的簡(jiǎn)介,編程環(huán)境和基本操作的詳細(xì)概述 7614次閱讀
- 智能配電系統(tǒng)簡(jiǎn)介 4202次閱讀
- DCS系統(tǒng)的打印系統(tǒng)及工作原理簡(jiǎn)介 1931次閱讀
- 液壓制動(dòng)的終結(jié)-電子制動(dòng)(EMB)技術(shù)發(fā)展簡(jiǎn)介 9292次閱讀
- 量子芯技術(shù)簡(jiǎn)介 1264次閱讀
- Wi-Fi 技術(shù)簡(jiǎn)介,IEEE802.11b技術(shù)簡(jiǎn)介 928次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論