上兩篇文章我主要分享了github的一些操作及用法,從今天開始我講分享一些有關git的一些知識。如果想了解github的操作可以看
前端都應懂的入門基礎-github基礎
前端基礎牢記的一些操作-Github倉庫管理
版本控制
集中化的版本控制系統
集中化的版本控制系統有CVS、SVN、Perforce等,都有一個單一的集中管理服務器,保存所有文件的修訂版本,而協同工作的人們通過客戶端連到這臺服務器,取出最新的文件或者提交更新。
這種方法帶來了許多便利,每個人都可以在一定程度上看到項目中的其他人做了些什麼。而管理員也可以輕鬆掌控每個開發者的權限,並且管理一個集中化的版本控制系統,要比在各個客戶端上維護本地數據庫來輕鬆容易。
最大優點就是代碼存放在單一的服務器上,便於項目的管理
使用這也有一定的弊端,最大的缺點就是中央服務器的單點故障。
- 服務器宕機:開發人員寫的代碼得不到保障,
- 服務器炸了:整個項目的歷史記錄會丟失
分佈式的版本控制系統
由於集中式的版本控制系統的缺點越來越突出,分佈式的版本控制系統就面世了,像Git, BitKeeper等。
客戶端並不只是提取最新版本的文件快照,而是把代碼倉庫完整地鏡像下來。這樣,任何一處協同工作用的服務器發生故障,事後都可以用任何一個鏡像出來的本地倉庫恢復。因爲每次的提取操作,實際上都是一次對代碼倉庫的完整備份。
更進一步,許多這類系統都可以指定和若干不同的遠程代碼倉庫進行交互。這樣開發人員就可以在同一個項目中分別和不同工作小組的人相互協作。
分佈式的版本控制系統解決了集中式版本控制系統的缺陷:
- 斷網的情況下也可以進行開發,因爲版本控制是在本地進行的
- 使用github進行團隊協作,哪怕github掛了,美國客戶端保存的也都是整個完整的項目,其中包含歷史記錄。
總結
今天主要分享了代碼版本控制的類型和各自的優缺點,集中式版本控制系統典型代表SVN和分佈式版本控制系統代表Git。如果想了解更多,請掃描二維碼: