1.版本控制

什么是版本控制

記錄一個(gè)或若干文件內(nèi)容變化,便于將來查閱。

版本控制系統(tǒng)

CVS

本地版本控制系統(tǒng)

復(fù)制整個(gè)項(xiàng)目,保存在不同文件夾中。
優(yōu)點(diǎn):簡(jiǎn)單
缺點(diǎn):易犯錯(cuò)、易混淆、數(shù)據(jù)可能丟失

問題:如何更好的進(jìn)行版本控制?
解決:本地版本控制系統(tǒng)。
原理:大多采用簡(jiǎn)單的數(shù)據(jù)庫(kù)來記錄文件的歷次更新差異。

1.png

例如:RCS
RCS原理:在硬盤上保存補(bǔ)丁集(補(bǔ)丁式文件修訂前后的變化),通過補(bǔ)丁計(jì)算各個(gè)版本內(nèi)容

集中化的版本控制系統(tǒng)(簡(jiǎn)稱CVCS)

問題:如何讓不同系統(tǒng)上的開發(fā)者協(xié)同工作?
解決:集中化版本控制系統(tǒng)。
原理:有一個(gè)單一集中管理的服務(wù)器,保存所有文件的修訂版本。協(xié)同工作的人們通過客戶端連到這臺(tái)服務(wù)器,取出最新的文件或者提交更新。

2.png

例如:CVS、Subversion、Perforce
優(yōu)點(diǎn):
可以看到別人在項(xiàng)目中做了什么
方便管理員管理(開發(fā)者權(quán)限、只管理一個(gè)CVSC不用每個(gè)客戶端都管理)
缺點(diǎn):
中央服務(wù)器故障,宕機(jī)的時(shí)候誰都沒法提交更新。
中央數(shù)據(jù)庫(kù)磁盤損壞,又沒備份,所有數(shù)據(jù)都丟失了。

分布式版本控制系統(tǒng)(簡(jiǎn)稱DVCS)

問題:如何解決CVCS的缺點(diǎn)呢?
解決:分布式版本控制系統(tǒng)。
原理:客戶端把代碼倉(cāng)庫(kù)完全鏡像下來。

3.png

例如:Git、Mercurial、Bazaar、Darcs
優(yōu)點(diǎn):
任何一處服務(wù)器發(fā)生故障,都可以用任何一個(gè)鏡像本地倉(cāng)庫(kù)恢復(fù)。
許多這類系統(tǒng)都可以指定和若干不同的遠(yuǎn)端代碼倉(cāng)庫(kù)進(jìn)行交互。籍此,你就可以在同一個(gè)項(xiàng)目中,分別和不同工作小組的人相互協(xié)作。 你可以根據(jù)需要設(shè)定不同的協(xié)作流程,比如層次模型式的工作流,而這在以前的集中式系統(tǒng)中是無法實(shí)現(xiàn)的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,036評(píng)論 25 709
  • 閑的像一條咸魚了已經(jīng)。 可惡啊,come body!
    心的光閱讀 161評(píng)論 0 0
  • 北京公園相親角火了,火的不是一直以來熱議的房子、工作薪酬、戶口、學(xué)歷等硬性條件,而是一句“可以輕度殘疾,但...
    會(huì)稽草野閱讀 1,616評(píng)論 6 7
  • 囧,好像成了我路途的主題。但在一次又一次的囧境囧遇之中,卻收獲了難得的記憶。 動(dòng)車上: 穿花裙子的年輕奶奶,牽著那...
    陽光燦爛和佩奇閱讀 248評(píng)論 0 0
  • 雨意綿綿似無休, 早醒賴床聞敲窗, 常約晨來健身起, 不愛淋雨愛抱被。
    風(fēng)輕云淡藍(lán)熙閱讀 172評(píng)論 1 0

友情鏈接更多精彩內(nèi)容