首頁 培訓網(wǎng) 最新資訊 熱門問答

web前端

免費試聽 在線客服

您的位置: 北京培訓網(wǎng) > web前端培訓資訊 > 【千鋒互聯(lián)Html5培訓】深度剖析版本管理工具

【千鋒互聯(lián)Html5培訓】深度剖析版本管理工具

來源:教育聯(lián)展網(wǎng) | 發(fā)布時間: | 編輯:佚名

精品視頻搶先看,超精細化講解,手把手的教學,千鋒教育扣丁學堂讓大家足不出戶也可享受高品質(zhì)的視頻課程。完整版經(jīng)典教程,從進階課程到高級課程限時發(fā)布。在家學習前端,你也可以。

SVN集中式版本管理工具

SVN能干嘛?

為了能夠更好的記錄保留軟件開發(fā)過程中的迭代版本,

你每一次修改后提交的代碼,SVN服務(wù)器都為我們保留了記錄。

為了能夠更好的協(xié)同開發(fā),并有效的解決多人之間的沖突,

多個人修改一個文件,把不同的修改進行合并,這解決了我們協(xié)同開發(fā)中的一大難題。

為了能夠更便捷的異地同步代碼,

手機、平板、家里電腦、公司電腦,跟今天的云盤一個道理。

于是誕生了版本管理工具。SVN便是其中比較流行的一個工具。


這是一個集中式的版本管理,所有的數(shù)據(jù)都經(jīng)過中央服務(wù)器進行交換同步

Git 分布式版本管理工具

git能干嘛?

功能上跟SVN一樣,只不過它是分布式的,不存在中央服務(wù)器

千鋒互聯(lián)Html5培訓

乍看上去,好像灰常復(fù)雜,其實不然。就是說根本沒有服務(wù)器的概念,或者人人都是服務(wù)器。任意兩臺電腦都可以互相通信

但是這樣帶來一個問題,就是如果要同步代碼,至少要保證兩臺機器同時開機,所以使用git的通常做法是這樣的:

千鋒互聯(lián)Html5培訓

后來有了github這個神奇的網(wǎng)站,它提供24小時不間斷的服務(wù),并且在github上提交的代碼可以公開分享,來自全球的小伙伴學習別人的代碼更加的方便了,并且還是以版本管理的方式來同步代碼。于是git就瞬間流行起來了。

但是由于git復(fù)雜的原理,讓它的學習成本比svn高出了很多倍。非常不適合初學者

接下來,我嘗試用圖解的方式講解git原理,讓大家弄明白,git 為什么會看起來比SVN復(fù)雜很多卻又很受歡迎。

千鋒互聯(lián)Html5培訓

但不同的是,github自己編寫了一套程序接口,你可以經(jīng)過在它的網(wǎng)站上注冊,然后在github上建立屬于你自己的倉庫,然后把代碼同步過去,注意我用了同步這個詞,不是提交,因為大家一定要記住,這是分布式的!!

就是說github只是眾多客戶端之一(雖然它有點特殊),這里沒有服務(wù)器和客戶端的概念。

(請注意,git是一個分布式版本管理軟件,github是一個網(wǎng)站平臺,請不要把二者混為一談)

千鋒互聯(lián)Html5培訓

這樣一來,大家就可以直接從github上下載,修改后都向github上面提交,就方便多了

千鋒互聯(lián)Html5培訓

講到這里,你一定會有疑問,這跟SVN有什么區(qū)別?SVN貌似不用這么折騰吧?

第1,這跟SVN確實沒什么區(qū)別。

但是,如果github網(wǎng)站掛掉了,張三、李四、王五仍然可以直接互相同步代碼,SVN做的到嗎?

第二,這個要重點說,git不單單只有這一點好處,更大的好處,在于它和SVN有著不同的管理文件的方式。

一個軟件從建立,到zui后發(fā)布上線,如果把每一次提交都算上,你覺得它大概要經(jīng)歷幾萬個版本?

我們都知道版本管理zui大的好處就是可以保留我們的歷史版本,在代碼開發(fā)到一半的時候,不至于無故丟失,還可以查看BUG的來龍去脈。

那怎么樣做到這一點呢?

如果每一次修改,都保留一個文件副本,那需要多少硬盤才能裝的下?

SVN是集中式管理,大家把文件都提交到一個地方,這服務(wù)器的存儲壓力就大了去了。

因此它對于文件的版本控制,采用增量式的,只記錄修改部分,不產(chǎn)生多余的數(shù)據(jù)。

千鋒互聯(lián)Html5培訓

但是要知道,只記錄修改,不產(chǎn)生冗余,還得準確的還原每一個版本,解決沖突,可真不是一件容易的事情

所以你就明白,為什么到現(xiàn)在SVN還是動不動一個誤操作就出現(xiàn)無法提交的錯誤,BUG滿天飛。

我們不得不說,SVN是一個非常優(yōu)秀的版本管理軟件,如果它早一點發(fā)明分支結(jié)構(gòu),如果在github之前就出現(xiàn)了svnhub,也許.....

算了,不提往事了,接下來再說git管理文件的方式。

Git以文件快照的方式保存,也就是說,每一個版本,就是一個文件副本

當然,對于沒有變動的提交,git會自動生成一個虛的索引,就像快捷方式,以便節(jié)省空間,

但即便是這樣,你肯定還是覺得,這種做法太浪費空間了。所以才發(fā)明了分支(fork)

千鋒互聯(lián)Html5培訓

我們還拿github舉例子,現(xiàn)在它既然要變成一個類似服務(wù)器的角色,為所有人提供代碼托管。

那如何來解決如此大量的冗余呢? 那就是想辦法把冗余放到本地。

首先,我們從github上的項目克隆一份到我們本地,

我們把github上的項目稱為主干,我們自己的稱為分支,我們的修改只提交在本地。

等到版本穩(wěn)定的時候,或者我負責的模塊開發(fā)完成了,再把zui后的版本提交到遠程倉庫。

這個過程稱為分支的合并

當然,能不能合并,還得創(chuàng)建項目的人說了算。

試想一下,你發(fā)起了一個開源項目1.0,無數(shù)的人來幫你續(xù)寫2.0版本,并向你發(fā)送了合并申請。

你挨個審查,挑了一個優(yōu)秀的合并到你的項目中,豈不是很爽?

千鋒互聯(lián)Html5培訓

關(guān)于HTML5培訓,千鋒互聯(lián)是認真的! >> http://kaoshi.china.com/xuexiao/bjqf/ 


課程咨詢

咨詢老師:金老師

咨詢電話:010-64707530/15110074071


熱門機構(gòu)推薦
web前端

免費體驗課開班倒計時

11: 41: 09

稍后會有專業(yè)老師給您回電,請保持電話暢通

咨詢電話:

本周熱門資訊

全國分站 熱門機構(gòu)

北京web前端培訓 上海web前端培訓 廣州web前端培訓 深圳web前端培訓 杭州web前端培訓 蘇州web前端培訓 南京web前端培訓 天津web前端培訓 佛山web前端培訓 南寧web前端培訓 長沙web前端培訓 重慶web前端培訓 太原web前端培訓 青島web前端培訓 寧波web前端培訓 鄭州web前端培訓 西安web前端培訓 廈門web前端培訓 武漢web前端培訓 成都web前端培訓 無錫web前端培訓 濟南web前端培訓 昆明web前端培訓 貴陽web前端培訓 揚州web前端培訓 徐州web前端培訓 珠海web前端培訓 合肥web前端培訓 長春web前端培訓

深圳博為峰教育廣州博為峰教育深圳中公優(yōu)就業(yè)深圳華清遠見教育

申請試聽名額

已有10254人申請免費試聽

01電話咨詢 |

QQ:
加盟合作:0755-83654572

今日已有25人申請,本月限額500