在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            CVS系統(tǒng)簡介

            作者: 時間:2007-04-23 來源:網(wǎng)絡(luò) 收藏

            CVS系統(tǒng)簡介

            本文引用地址:http://www.biyoush.com/article/258228.htm


            一、什么是CVS?
            CVS

            ――Concurrent Versions System并行版本系統(tǒng);
            是一個標(biāo)準(zhǔn)的版本控制系統(tǒng);
            對代碼進(jìn)行集中管理;
            記錄代碼所有的更改歷史;
            提供協(xié)作開發(fā)的功能;
            支持多人同時CheckOut與合并。
            以客戶端/服務(wù)器模式工作,所有的用戶都在客戶端進(jìn)行CVS操作,而所有命令的執(zhí)行都在CVS服務(wù)器端進(jìn)行。


            二、CVS基本概念
            CVS倉庫:又稱主拷貝,是CVS系統(tǒng)保存軟件資源的地方。所有項(xiàng)目的所有文件的所有版本都保存在這個倉庫中。
            版本:開發(fā)人員每次向CVS提交所做的修改就形成了一個新版本。
            工作拷貝:從CVS服務(wù)器端取出的,保存在我們正在使用的客戶端計算機(jī)上的代碼拷貝。每個人員都有一個屬于自己的工作拷貝。
            檢出代碼(創(chuàng)建工作拷貝check out):從服務(wù)器取出代碼,就是創(chuàng)建工作拷貝的過程。
            提交代碼(commit):將代碼送到服務(wù)器保存,commit又叫作check in。
            導(dǎo)入代碼(import):將未被CVS進(jìn)行版本管理的代碼引入CVS系統(tǒng)中,由CVS開始對它進(jìn)行版本管理。
            CVS日志:CVS用來記錄每次操作的內(nèi)容的信息。日志信息可以用cvs log命令來查看。
            更新(update):在協(xié)同開發(fā)環(huán)境下,將其他人所作的最新修改從CVS倉庫中取到你的工作拷貝中,從而使得你得工作拷貝與倉庫中得最新版本保持一致。使用update是同步各個工作拷貝的手段。
            沖突(conflict):在協(xié)同開發(fā)的環(huán)境下,當(dāng)兩個開發(fā)人員對同一個文件進(jìn)行修改,并且依次提交CVS倉庫時就發(fā)生了沖突。這種沖突需要開發(fā)人員手工消除,并提交到CVS倉庫中形成解除沖突之后的新版本。


            三、CVS命令:
            1.

            設(shè)置環(huán)境變量。
            set CVSROOT=:pserver:[email protected]:e:/cvsroot

            set CVSROOT=:pserver:[email protected]:e:/cvsroot

            2.簽出工作版本到工作目錄。
            $cd

            $cvs co account/src/common
            該命令只將account/src/common目錄結(jié)構(gòu)簽出到本地。若使用
            $cvs co account
            則將account下所有目錄結(jié)構(gòu)簽出來。
            3.

            提交修改的文件到CVS版本庫中:
            $cvs ci filename>
            注意若提交多個文件可以輸入多個文件名,并以空格分開。若將該目錄下所有文件都提交,那么只需
            $cvs ci 回車>
            即可。
            4.

            提交新增加的目錄或文件到CVS版本庫中:
            $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

            :表明你的工作拷貝是最新的.
            Locally Modified:表明你曾經(jīng)修改過該文件,但還沒有提交,你的版本比倉庫里的新.
            Needing Patch:表明有人已經(jīng)修改過該文件并且已經(jīng)提交了!你沒有修改但你的工作拷貝的版本比倉庫里的舊.
            Needs Merge:表明你修改了該文件但沒有提交,而有人也修改了這個文件,并且提交給倉庫了。
            Locally added

            :表明使用了add命令增加了該文件,但還沒有commit
            Locally Removed

            :表明你使用了remove命令,但還沒有commit
            Unkown

            :CVS不知道關(guān)于這個文件的情況.例如,你創(chuàng)建了一個新文件,而沒有使用add命令
            解決辦法:
            若狀態(tài)為Locally Modified,則需執(zhí)行$cvs ci filename>
            若狀態(tài)為Needing Patch或Needing Merge,則需執(zhí)行$cvs up filename>
            將版本庫里的文件與工作拷貝合并后,再提交給版本庫,使用命令:
            $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.

            查看工作拷貝和倉庫中最后版本之間的修改
            $ cvs diff src.c
            8.

            查看指定的兩個版本之間的修改
            $ cvs diff -r 1.1 -r 1.2 filename>


            9.

            版本回退(取出以前的某個版本)
            有兩種方式:
            一是只把某一版本的文件輸出到標(biāo)準(zhǔn)輸出上:
            $cvs up –p –r 版本號> filename>

            “-p”選項(xiàng)讓CVS命令的結(jié)果只輸出到標(biāo)準(zhǔn)輸出,而不寫入到結(jié)果文件中。

            另一種是將輸出到標(biāo)準(zhǔn)輸出的結(jié)果重定向到文件中:
            $cvs up –p –r 版本號> filename> > filename>

            如:目前abc.c文件的版本號為1.5,要取出1.2的版本,那么執(zhí)行
            $cvs up –p –r 1.2 abc.c > abc.c

            若沒有使用“-p”選項(xiàng)進(jìn)行回退,而是使用了$cvs up –r 1.2 abc.c命令,之后若對1.2版本進(jìn)行修改后再提交到CVS時,會出現(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命令來消除附著標(biāo)簽,但是該命令是將1.2版本與最新版本進(jìn)行了合并,還需對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,這時會得到一個空的文件。 ◇ 選中這個空文件,執(zhí)行【Update】操作,得到這個文件的實(shí)體。 ◇ 再次選中這個文件,執(zhí)行【Commit】操作,得到這個文件最新版本。
            3. 由于CVS系統(tǒng)中本質(zhì)上不會刪除任何目錄,因此,談不上對目錄的恢復(fù),但是CVS系統(tǒng)默認(rèn)情況下是要在用戶本機(jī)上(如:YCW2000)要刪除空目錄,因此,可以用如下方法得到已被刪除的空目錄:cvs checkout -p xxx,也可以在Admin=>Preference的【Globals】頁面進(jìn)行設(shè)置。



            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉