最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何使用CVS進(jìn)行版本控制

如何使用CVS進(jìn)行版本控制,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)建站技術(shù)團(tuán)隊(duì)十載來致力于為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、成都全網(wǎng)營銷、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了近1000家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。

GitHub 網(wǎng)站發(fā)布于 2008 年。如果你的軟件工程師職業(yè)生涯跟我一樣,也是晚于此時(shí)間的話,Git 可能是你用過的唯一版本控制軟件。雖然其陡峭的學(xué)習(xí)曲線和不直觀地用戶界面時(shí)常會遭人抱怨,但不可否認(rèn)的是,Git 已經(jīng)成為學(xué)習(xí)版本控制的每個(gè)人的選擇。cvs和Git并無差別,今天就來介紹Git的前身-cvs

Stack Overflow 2015 年進(jìn)行的開發(fā)者調(diào)查顯示,69.3% 的被調(diào)查者在使用 Git,幾乎是排名第二的 Subversion 版本控制系統(tǒng)使用者數(shù)量的兩倍。2015 年之后,也許是因?yàn)?Git 太受歡迎了,大家對此話題不再感興趣,所以 Stack Overflow 停止了關(guān)于開發(fā)人員使用的版本控制系統(tǒng)的問卷調(diào)查。
GitHub 的發(fā)布時(shí)間距離 Git 自身發(fā)布時(shí)間很近。2005 年,Linus Torvalds 發(fā)布了 Git 的首個(gè)版本?,F(xiàn)在的年經(jīng)一代開發(fā)者可能很難想象“版本控制軟件”一詞所代表的世界并不僅僅只有 Git,雖然這樣的世界誕生的時(shí)間并不長。除了 Git 外,還有很多可供選擇。那時(shí),開源開發(fā)者較喜歡 Subversion,企業(yè)和視頻游戲公司使用 Perforce (到如今有些仍在用),而  Linux  內(nèi)核項(xiàng)目依賴于名為 BitKeeper 的版本控制系統(tǒng)。
其中一些系統(tǒng),特別是 BitKeeper,會讓年經(jīng)一代的 Git 用戶感覺很熟悉,上手也很快,但大多數(shù)相差很大。除了 BitKeeper,Git 之前的版本控制系統(tǒng)都是以不同的架構(gòu)模型為基礎(chǔ)運(yùn)行的?!禫ersion Control By Example》一書的作者 Eric Sink 在他的書中對版本控制進(jìn)行了分類,按其說法,Git 屬于第三代版本控制系統(tǒng),而大多數(shù) Git 的前身,即流行于二十世紀(jì)九零年代和二十一世紀(jì)早期的系統(tǒng),都屬于第二代版本控制系統(tǒng)。2 第三代版本控制系統(tǒng)是分布式的,第二代是集中式。你們以前大概都聽過 Git 被描述為一款“分布式”版本控制系統(tǒng)。我一直都不明白分布式/集中式之間的區(qū)別,隨后自己親自安裝了一款第二代的集中式版本控件系統(tǒng),并做了相關(guān)實(shí)驗(yàn),至少明白了一些。
我安裝的版本系統(tǒng)是 CVS。CVS,即 “并發(fā)版本系統(tǒng)Concurrent Versions System” 的縮寫,是最初的第二代版本控制系統(tǒng)。大約十年間,它是最為流行的版本控制系統(tǒng),直到 2000 年被 Subversion 所取代。即便如此,Subversion 被認(rèn)為是 “更好的 CVS”,這更進(jìn)一步突出了 CVS 在二十世紀(jì)九零年代的主導(dǎo)地位。

CVS 最早是由一位名叫 Dick Grune 的荷蘭科學(xué)家在 1986 年開發(fā)的,當(dāng)時(shí)有一個(gè)編譯器項(xiàng)目,他正在尋找一種能與其學(xué)生合作的方法。3 CVS 最初僅僅只是一個(gè)包裝了 RCS(修訂控制系統(tǒng)Revision Control System) 的 Shell 腳本集合,Grune 想改進(jìn)這個(gè)第一代的版本控制系統(tǒng)。 RCS 是按悲觀鎖模式工作的,這意味著兩個(gè)程序員不可以同時(shí)處理同一個(gè)文件。需要編輯一個(gè)文件話,首先得向 RCS 系統(tǒng)請求一個(gè)排它鎖,鎖定此文件直到完成編輯,如果你想編輯的文件有人正在編輯,你就必須等待。CVS 在 RCS 基礎(chǔ)上改進(jìn),并把悲觀鎖模型替換成樂觀鎖模型,迎來了第二代版本控制系統(tǒng)的時(shí)代?,F(xiàn)在,程序員可以同時(shí)編輯同一個(gè)文件、合并編輯部分,隨后解決合并沖突問題。(后來接管 CVS 項(xiàng)目的工程師 Brian Berliner 于 1990 年撰寫了一篇非常易讀的關(guān)于 CVS 創(chuàng)新的 論文。)

從這個(gè)意義上來講,CVS 與 Git 并無差異,因?yàn)?Git 也是運(yùn)行于樂觀鎖模式的,但也僅僅只有此點(diǎn)相似。實(shí)際上,Linus Torvalds 開發(fā) Git 時(shí),他的一個(gè)指導(dǎo)原則是 WWCVSND,即 “CVS 不能做的What Would CVS Not Do”。每當(dāng)他做決策時(shí),他都會力爭選擇那些在 CVS 設(shè)計(jì)里沒有使用的功能選項(xiàng)。4 所以即使 CVS 要早于 Git 十多年,但它對 Git 的影響是反面的。

我非常喜歡折騰 CVS。我認(rèn)為要弄明白為什么 Git 的分布式特性是對以前的版本控制系統(tǒng)的極大改善的話,除了折騰 CVS 外,沒有更好的辦法。因此,我邀請你跟我一起來一段激動(dòng)人心的旅程,并在接下來的十分鐘內(nèi)了解下這個(gè)近十年來無人使用的軟件。(可以看看文末“修正”部分)

CVS 入門

CVS 的安裝教程可以在其 項(xiàng)目主頁 上找到。MacOS 系統(tǒng)的話,可以使用 Homebrew 安裝。

由于 CVS 是集中式的,所以它有客戶端和服務(wù)端之區(qū)分,這種模式 Git 是沒有的。兩端分別有不同的可執(zhí)行文件,其區(qū)別不太明顯。但要開始使用 CVS 的話,即使只在你的本地機(jī)器上使用,也必須設(shè)置 CVS 的服務(wù)后端。

CVS 的后端,即所有代碼的中央存儲區(qū),被叫做存儲庫 repository。在 Git 中每一個(gè)項(xiàng)目都有一個(gè)存儲庫,而 CVS 中一個(gè)存儲庫就包含所有的項(xiàng)目。盡管有辦法保證一次只能訪問一個(gè)項(xiàng)目,但一個(gè)中央存儲庫包含所有東西是改變不了的。

要在本地創(chuàng)建存儲庫的話,請運(yùn)行 init 命令。你可以像如下所示在家目錄創(chuàng)建,也可以在你本地的任何地方創(chuàng)建。

$ cvs -d ~/sandbox init

CVS 允許你將選項(xiàng)傳遞給 cvscvs 命令本身或 init 子命令。出現(xiàn)在cvs 命令之后的選項(xiàng)默認(rèn)是全局的,而出現(xiàn)在子命令之后的是子命令特有選項(xiàng)。上面所示例子中,-d 標(biāo)志是全局選項(xiàng)。在這兒是告訴 CVS 我們想要?jiǎng)?chuàng)建存儲庫路徑在哪里,但一般-d 標(biāo)志指的是我們想要使用的且已經(jīng)存在的存儲庫位置。一直使用 -d 標(biāo)志很單調(diào)乏味,所以可以設(shè)置 CVSROOT 環(huán)境變量來代替。

因?yàn)槲覀冎皇窃诒镜夭僮?,所以僅僅使用 -d 參考來傳遞路徑就可以,但也可以包含個(gè)主機(jī)名。

此命令在你的家目錄創(chuàng)建了一個(gè)名叫 sandbox 的目錄。 如果你列出sandbox 內(nèi)容,會發(fā)現(xiàn)下面包含有名為 CVSROOT 的目錄。請不要把此目錄與我們的環(huán)境變量混淆,它保存存儲庫的管理文件。

恭喜! 你剛剛創(chuàng)建了第一個(gè) CVS 存儲庫。

檢入代碼

假設(shè)你決定留存下自己喜歡的顏色清單。因?yàn)槟闶且粋€(gè)有藝術(shù)傾向但很健忘的人,所以你鍵入顏色列表清單,并保存到一個(gè)叫favorites.txt 的文件中:

blue
orange
green
definitely not yellow

我們也假設(shè)你把文件保存到一個(gè)叫colors 的目錄中?,F(xiàn)在你想要把喜歡的顏色列表清單置于版本控制之下,因?yàn)閺默F(xiàn)在起的五十年間你會回顧下,隨著時(shí)間的推移自己的品味怎么變化,這件事很有意思。

為此,你必須將你的目錄導(dǎo)入為新的 CVS 項(xiàng)目??梢允褂胕mport 命令:

$ cvs -d ~/sandbox import -m "" colors colors initial
N colors/favorites.txt
No conflicts created by this import

這里我們再次使用-d 標(biāo)志來指定存儲庫的位置,其余的參數(shù)是傳輸給import 子命令的。必須要提供一條消息,但這兒沒必要,所以留空。下一個(gè)參數(shù)colors ,指定了存儲庫中新目錄的名字,這兒給的名字跟檢入的目錄名稱一致。最后的兩個(gè)參數(shù)分別指定了 “vendor” 標(biāo)簽和 “release” 標(biāo)簽。我們稍后就會談?wù)摌?biāo)簽。
我們剛將 colors 項(xiàng)目拉入 CVS 存儲庫。將代碼引入 CVS 有很多種不同的方法,但這是 《Pragmatic Version Control Using CVS》 一書所推薦方法,這是一本關(guān)于 CVS 的程序員實(shí)用指導(dǎo)書籍。使用這種方法有點(diǎn)尷尬的就是你得重新檢出check out工作項(xiàng)目,即使已經(jīng)存在有 colors 此項(xiàng)目了。不要使用該目錄,首先刪除它,然后從 CVS 中檢出剛才的版本,如下示:

$ cvs -d ~/sandbox co colors
cvs checkout: Updating colors
U colors/favorites.txt

這個(gè)過程會創(chuàng)建一個(gè)新的目錄,也叫做 colors。此目錄里會發(fā)現(xiàn)你的源文件 favorites.txt,還有一個(gè)叫 CVS 的目錄。這個(gè)CVS 目錄基本上與每個(gè) Git 存儲庫的.git 目錄等價(jià)。

做出改動(dòng)

準(zhǔn)備旅行。

和 Git 一樣,CVS 也有 status 命令:

$ cvs status
cvs status: Examining .
===================================================================
File: favorites.txt     Status: Up-to-date
   Working revision:    1.1.1.1 2018-07-06 19:27:54 -0400
   Repository revision: 1.1.1.1 /Users/sinclairtarget/sandbox/colors/favorites.txt,v
   Commit Identifier:   fD7GYxt035GNg8JA
   Sticky Tag:      (none)
   Sticky Date:     (none)
   Sticky Options:  (none)

到這兒事情開始陌生起來了。CVS 沒有提交對象這一概念。如上示,有一個(gè)叫 “提交標(biāo)識符Commit Identifier” 的東西,但這可能是一個(gè)較新版本的標(biāo)識,在 2003 年出版的《Pragmatic Version Control Using CVS》一書中并沒有提到 “提交標(biāo)識符” 這個(gè)概念。 (CVS 的最新版本于 2008 年發(fā)布的。5 )

在 Git 中,我們所談?wù)撃澄募姹酒鋵?shí)是在談?wù)撊?nbsp;commit 45de392 相關(guān)的東西,而 CVS 中文件是獨(dú)立版本化的。文件的第一個(gè)版本為 1.1 版本,下一個(gè)是 1.2 版本,依此類推。涉及分支時(shí),會在后面添加擴(kuò)展數(shù)字。因此你會看到如上所示的 1.1.1.1 的內(nèi)容,這就是示例的版本號,即使我們沒有創(chuàng)建分支,似乎默認(rèn)的會給加上。

一個(gè)項(xiàng)目中會有很多的文件和很多次的提交,如果你運(yùn)行 cvs log 命令(等同于 git log),會看到每個(gè)文件提交歷史信息。同一個(gè)項(xiàng)目中,有可能一個(gè)文件處于 1.2 版本,一個(gè)文件處于 1.14 版本。

繼續(xù),我們對 1.1 版本的favorites.txt 文件做些修改(LCTT 譯注:原文此處示例有誤):

blue
orange
green
cyan
definitely not yellow

修改完成,就可以運(yùn)行cvs diff 來看看 CVS 發(fā)生了什么:

$ cvs diff
cvs diff: Diffing .
Index: favorites.txt
===================================================================
RCS file: /Users/sinclairtarget/sandbox/colors/favorites.txt,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 favorites.txt
3a4
> cyan

CVS 識別出我們我在文件中添加了一個(gè)包含顏色 “cyan” 的新行。(實(shí)際上,它說我們已經(jīng)對 “RCS” 文件進(jìn)行了更改;你可以看到,CVS 底層使用的還是 RCS。) 此差異指的是當(dāng)前工作目錄中的favorites.txt 副本與存儲庫中 1.1.1.1 版本的文件之間的差異。

為了更新存儲庫中的版本,我們必須提交更改。Git 中,這個(gè)操作要好幾個(gè)步驟。首先,暫存此修改,使其在索引中出現(xiàn),然后提交此修改,最后,為了使此修改讓其他人可見,我們必須把此提交推送到源存儲庫中。

而 CVS 中,只需要運(yùn)行 cvs commit 命令就搞定一切。CVS 會匯集它所找到的變化,然后把它們放到存儲庫中:

$ cvs commit -m "Add cyan to favorites."
cvs commit: Examining .
/Users/sinclairtarget/sandbox/colors/favorites.txt,v < -- favorites.txt
new revision: 1.2; previous revision: 1.1

我已經(jīng)習(xí)慣了 Git,所以這種操作會讓我感到十分恐懼。因?yàn)闆]有變更暫存區(qū)的機(jī)制,工作目錄下任何你動(dòng)過的東西都會一股腦給提交到公共存儲庫中。你有過因?yàn)椴凰?,私下里重寫了某個(gè)同事不佳的函數(shù)實(shí)現(xiàn),但僅僅只是自我宣泄一下并不想讓他知道的時(shí)候嗎?如果不小心提交上去了,就太糟糕了,他會認(rèn)為你是個(gè)混蛋。在推送它們之前,你也不能對提交進(jìn)行編輯,因?yàn)樘峤痪褪峭扑?。還是你愿意花費(fèi) 40 分鐘的時(shí)間來反復(fù)運(yùn)行 git rebase -i 命令,以使得本地提交歷史記錄跟數(shù)學(xué)證明一樣清晰嚴(yán)謹(jǐn)?很遺憾,CVS 里不支持,結(jié)果就是,大家都會看到你沒有先寫測試用例。

不過,到現(xiàn)在我終于理解了為什么那么多人都覺得 Git 沒必要搞那么復(fù)雜。對那些早已經(jīng)習(xí)慣直接 cvs commit 的人來說,進(jìn)行暫存變更和推送變更操作確實(shí)是毫無意義的差事。

人們常談?wù)?Git 是一個(gè) “分布式” 系統(tǒng),其中分布式與非分布式的主要區(qū)別為:在 CVS 中,無法進(jìn)行本地提交。提交操作就是向中央存儲庫提交代碼,所以沒有網(wǎng)絡(luò)連接,就無法執(zhí)行操作,你本地的那些只是你的工作目錄而已;在 Git 中,會有一個(gè)完完全全的本地存儲庫,所以即使斷網(wǎng)了也可以無間斷執(zhí)行提交操作。你還可以編輯那些提交、回退、分支,并選擇你所要的東西,沒有任何人會知道他們必須知道的之外的東西。

因?yàn)樘峤皇莻€(gè)大事,所以 CVS 用戶很少做提交。提交會包含很多的內(nèi)容修改,就像如今我們能在一個(gè)含有十次提交的拉取請求中看到的一樣多。特別是在提交觸發(fā)了 CI 構(gòu)建和自動(dòng)測試程序時(shí)如此。

現(xiàn)在我們運(yùn)行cvs status ,會看到產(chǎn)生了文件的新版本:

$ cvs status
cvs status: Examining .
===================================================================
File: favorites.txt     Status: Up-to-date
   Working revision:    1.2 2018-07-06 21:18:59 -0400
   Repository revision: 1.2 /Users/sinclairtarget/sandbox/colors/favorites.txt,v
   Commit Identifier:   pQx5ooyNk90wW8JA
   Sticky Tag:      (none)
   Sticky Date:     (none)
   Sticky Options:  (none)

合并

如上所述,在 CVS 中,你可以同時(shí)編輯其他人正在編輯的文件。這是 CVS 對 RCS 的重大改進(jìn)。當(dāng)需要將更改的部分重新組合在一起時(shí)會發(fā)生什么?

假設(shè)你邀請了一些朋友來將他們喜歡的顏色添加到你的列表中。在他們添加的時(shí)候,你確定了不再喜歡綠色,然后把它從列表中刪除。

當(dāng)你提交更新的時(shí)候,會發(fā)現(xiàn) CVS 報(bào)出了個(gè)問題:

$ cvs commit -m "Remove green"
cvs commit: Examining .
cvs commit: Up-to-date check failed for `favorites.txt'
cvs [commit aborted]: correct above errors first!

這看起來像是朋友們首先提交了他們的變化。所以你的 favorites.txt 文件版本沒有更新到存儲庫中的最新版本。此時(shí)運(yùn)行cvs status 就可以看到,本地的 favorites.txt 文件副本有一些本地變更且是 1.2 版本的,而存儲庫上的版本號是 1.3,如下示:

$ cvs status
cvs status: Examining .
===================================================================
File: favorites.txt     Status: Needs Merge
   Working revision:    1.2 2018-07-07 10:42:43 -0400
   Repository revision: 1.3 /Users/sinclairtarget/sandbox/colors/favorites.txt,v
   Commit Identifier:   2oZ6n0G13bDaldJA
   Sticky Tag:      (none)
   Sticky Date:     (none)
   Sticky Options:  (none)

你可以運(yùn)行cvs diff 來了解 1.2 版本與 1.3 版本的確切差異:

$ cvs diff -r HEAD favorites.txt
Index: favorites.txt
===================================================================
RCS file: /Users/sinclairtarget/sandbox/colors/favorites.txt,v
retrieving revision 1.3
diff -r1.3 favorites.txt
3d2
< green
7,10d5
<
< pink
< hot pink
< bubblegum pink

看來我們的朋友是真的喜歡粉紅色,但好在他們編輯的是此文件的不同部分,所以很容易地合并此修改。跟git pull 類似,只要運(yùn)行 cvs update 命令,CVS 就可以為我們做合并操作,如下示:

$ cvs update
cvs update: Updating .
RCS file: /Users/sinclairtarget/sandbox/colors/favorites.txt,v
retrieving revision 1.2
retrieving revision 1.3
Merging differences between 1.2 and 1.3 into favorites.txt
M favorites.txt

此時(shí)查看 favorites.txt 文件內(nèi)容的話,你會發(fā)現(xiàn)你的朋友對文件所做的更改已經(jīng)包含進(jìn)去了,你的修改也在里面?,F(xiàn)在你可以自由的提交文件了,如下示:

$ cvs commit
cvs commit: Examining .
/Users/sinclairtarget/sandbox/colors/favorites.txt,v < -- favorites.txt
new revision: 1.4; previous revision: 1.3

最終的結(jié)果就跟在 Git 中運(yùn)行 git pull --rebase 一樣。你的修改是添加在你朋友的修改之后的,所以沒有 “合并提交” 這操作。

某些時(shí)候,對同一文件的修改可能導(dǎo)致沖突。例如,如果你的朋友把 “green” 修改成 “olive”,同時(shí)你完全刪除 “green”,就會出現(xiàn)沖突。CVS 早期的時(shí)候,正是這種情況導(dǎo)致人們擔(dān)心 CVS 不安全,而 RCS 的悲觀鎖機(jī)制可以確保此情況永不會發(fā)生。但 CVS 提供了一個(gè)安全保障機(jī)制,可以確保不會自動(dòng)的覆蓋任何人的修改。因此,當(dāng)運(yùn)行cvs update 的時(shí)候,你必須告訴 CVS 想要保留哪些修改才能繼續(xù)下一步操作。CVS 會標(biāo)記文件的所有變更,這跟 Git 檢測到合并沖突時(shí)所做的方式一樣,然后,你必須手工編輯文件,選擇需要保留的變更進(jìn)行合并。
這兒需要注意的有趣事情就是在進(jìn)行提交之前必須修復(fù)并合并沖突。這是 CVS 集中式特性的另一個(gè)結(jié)果。而在 Git 里,在推送本地的提交內(nèi)容之前,你都不用擔(dān)心合并沖突問題。

標(biāo)記與分支

由于 CVS 沒有易于尋址的提交對象,因此對變更集合進(jìn)行分組的唯一方法就是對于特定的工作目錄狀態(tài)打個(gè)標(biāo)記。

創(chuàng)建一個(gè)標(biāo)記是很容易的:

$ cvs tag VERSION_1_0
cvs tag: Tagging .
T favorites.txt

稍后,運(yùn)行 cvs update 命令并把標(biāo)簽傳輸給 -r 標(biāo)志就可以把文件恢復(fù)到此狀態(tài),如下示:

$ cvs update -r VERSION_1_0
cvs update: Updating .
U favorites.txt

因?yàn)槟阈枰粋€(gè)標(biāo)記來回退到早期的工作目錄狀態(tài),所以 CVS 鼓勵(lì)創(chuàng)建大量的搶先標(biāo)記。例如,在重大的重構(gòu)之前,你可以創(chuàng)建一個(gè) BEFORE_REFACTOR_01 標(biāo)記,如果重構(gòu)出錯(cuò),就可以使用此標(biāo)記回退。你如果想生成整個(gè)項(xiàng)目的差異文件的話,也可以使用標(biāo)記?;旧?,如今我們慣常使用提交的哈希值完成的事情都必須在 CVS 中提前計(jì)劃,因?yàn)槟惚仨毷紫扔袀€(gè)標(biāo)簽才行。

可以在 CVS 中創(chuàng)建分支。分支只是一種特殊的標(biāo)記,如下示:

$ cvs rtag -b TRY_EXPERIMENTAL_THING colors
cvs rtag: Tagging colors

這命令僅僅只是創(chuàng)建了分支(每個(gè)人都這樣覺得吧),所以還需要使用 cvs update 命令來切換分支,如下示:

$ cvs update -r TRY_EXPERIMENTAL_THING

上面的命令就會把你的當(dāng)前工作目錄切換到新的分支,但《Pragmatic Version Control Using CVS》一書實(shí)際上是建議創(chuàng)建一個(gè)新的目錄來房子你的新分支。估計(jì),其作者發(fā)現(xiàn)在 CVS 里切換目錄要比切換分支來得更簡單吧。

此書也建議不要從現(xiàn)有分支創(chuàng)建分支,而只在主線分支(Git 中被叫做 master)上創(chuàng)建分支。一般來說,分支在 CVS 中主認(rèn)為是 “高級” 技能。而在 Git 中,你幾乎可以任性創(chuàng)建新分支,但 CVS 中要在真正需要的時(shí)候才能創(chuàng)建,比如發(fā)布項(xiàng)目。

稍后可以使用 cvs update 和 -j 標(biāo)志將分支合并回主線:

$ cvs update -j TRY_EXPERIMENTAL_THING

修正

有人告訴我,有很多組織企業(yè),特別是像做醫(yī)療設(shè)備軟件等這種規(guī)避風(fēng)險(xiǎn)類的企業(yè),仍在使用 CVS。這些企業(yè)中的程序員通過使用一些小技巧來解決 CVS 的限制,例如為幾乎每個(gè)更改創(chuàng)建一個(gè)新分支以避免直接提交給 HEAD。 (感謝 Michael Kohne 指出這一點(diǎn)。)

關(guān)于如何使用CVS進(jìn)行版本控制問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


文章標(biāo)題:如何使用CVS進(jìn)行版本控制
網(wǎng)站路徑:http://fisionsoft.com.cn/article/ihgspc.html