1.關於版本控制?數據庫
版本控制是一種記錄文件或文件集隨時間變化的系統,以便您之後能夠調用特定版本,若是您是圖形或Web設計人員並但願保留圖像或佈局的每一個版本(您確定但願這樣),則使用版本控制系統(VCS)它容許您將所選文件還原回之前的狀態,將整個項目還原回之前的狀態,比較一段時間內的更改,查看最後修改了哪些可能致使問題的人,誰引入了問題以及什麼時候等等。使用VCS一般也意味着若是您搞砸了或丟失文件,您能夠輕鬆恢復。此外,您只需不多的開銷便可得到全部這些。服務器
。本地版本控制分佈式
一種比較流行的VCS工具是一個名爲RCS的系統,它如今仍然與許多計算機一塊兒分發。RCS的工做原理是在磁盤上以特殊格式保存補丁集(即文件之間的差別); 而後,它能夠經過添加全部補丁來從新建立任何文件在任什麼時候間點的樣子。工具
。集中版本控制系統佈局
人們遇到的下一個主要問題是他們須要與其餘系統上的開發人員協做。爲了解決這個問題,開發了集中版本控制系統(CVCS)。這些系統(例如CVS,Subversion和Perforce)具備包含全部版本化文件的單個服務器,以及從該中心位置檢出文件的許多客戶端。多年來,這一直是版本控制的標準。集中版本控制的此設置提供了許多優點,尤爲是在本地VCS上。例如,每一個人都知道項目中的其餘人正在作什麼。管理員能夠對誰能夠作什麼進行細粒度的控制,管理CVCS比處理每一個客戶端上的本地數據庫要容易得多。可是集中版本控制系統存在一個嚴重缺陷就是若是若是集中式服務器發生故障那麼全部的人都沒法進行寫做,若是服務器損壞那麼以前全部的更改歷史將會丟失。設計
。分佈式版本控制系統版本控制
爲了解決集中式版本控制系統的缺陷從而產生了分佈式版本控制系統,分佈式版本控制系統(DVCS)。在DVCS(例如Git,Mercurial,Bazaar或Darcs)中,客戶端不僅是查看文件的最新快照; 相反,它們徹底鏡像了存儲庫,包括其完整的歷史記錄。所以,若是任何服務器死亡,而且這些系統經過該服務器進行協做,則能夠將任何客戶端存儲庫複製回服務器以還原它。每一個克隆都是全部數據的完整備份。開發