一、什么是CVS?
CVS
――Concurrent Versions System并行版本系統(tǒng);
是一個(gè)標(biāo)準(zhǔn)的版本控制系統(tǒng);
對(duì)代碼進(jìn)行集中管理;
記錄代碼所有的更改歷史;
提供協(xié)作開(kāi)發(fā)的功能;
支持多人同時(shí)CheckOut與合并。
以客戶端/服務(wù)器模式工作,所有的用戶都在客戶端進(jìn)行CVS操作,而所有命令的執(zhí)行都在CVS服務(wù)器端進(jìn)行。
二、CVS基本概念
CVS倉(cāng)庫(kù):又稱(chēng)主拷貝,是CVS系統(tǒng)保存軟件資源的地方。所有項(xiàng)目的所有文件的所有版本都保存在這個(gè)倉(cāng)庫(kù)中。
版本:開(kāi)發(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開(kāi)始對(duì)它進(jìn)行版本管理。
CVS日志:CVS用來(lái)記錄每次操作的內(nèi)容的信息。日志信息可以用cvs log命令來(lái)查看。
更新(update):在協(xié)同開(kāi)發(fā)環(huán)境下,將其他人所作的新修改從CVS倉(cāng)庫(kù)中取到你的工作拷貝中,從而使得你得工作拷貝與倉(cāng)庫(kù)中得新版本保持一致。使用update是同步各個(gè)工作拷貝的手段。
沖突(conflict):在協(xié)同開(kāi)發(fā)的環(huán)境下,當(dāng)兩個(gè)開(kāi)發(fā)人員對(duì)同一個(gè)文件進(jìn)行修改,并且依次提交CVS倉(cāng)庫(kù)時(shí)發(fā)生了沖突。這種沖突需要開(kāi)發(fā)人員手工消除,并提交到CVS倉(cāng)庫(kù)中形成解除沖突之后的新版本。
三、CVS命令:
1.
設(shè)置環(huán)境變量。
set CVSROOT=:pserver:xxx@192.168.0.226:e:/cvsroot
set CVSROOT=:pserver:xxx@ansi.3322.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è)文件名,并以空格分開(kāi)。若將該目錄下所有文件都提交,那么只需
$cvs ci <回車(chē)>
即可。
4.
提交新增加的目錄或文件到CVS版本庫(kù)中:
$cvs add <dirname>
$cvs ci <dirname>
$cvs add <filename>
$cvs ci <filename>