DVCS(Distributed Version Control System),分散式版本控制系統
DVCS(Distributed Version Control System),分散式版本控制系統,軟體開發過程中,要解決多人協作的問題,需要有一個版本控制系統,用來合併和管理多人對同一個項目的開發和修改。版本控制有兩種方式,一種是集中式版本控制系統,顧名思義,是把代碼的管理和同步放在同一個伺服器端來進行,如CVS,SVN,由於有完善的許可權系統,以及統一的服務端,適合商業軟體的開發;而分散式版本控制系統,則相當於把集中式版本控制系統的服務端和客戶端都交給參與開發的客戶端來保管,只有需要不同開發者合併代碼時,才需要一個中轉站來完成。
集中式優點:(1) 許可權系統完善;
(2) 提交修改操作簡便;
缺點:(1) 打分支需要聯網到服務端
(2) 依賴伺服器的穩定性
適用場景:(1) 商業軟體的開發
(2) 同步需求十分頻繁的多人協作
分散式優點:(1) 打分支不需要聯網,客戶端本地保存著所有歷史記錄
(2) 不依賴伺服器的穩定性,風險分散
缺點:(1) 同步多人的修改稍繁;
(2) 本地代碼管理需要十分謹慎;
(3) 缺少許可權管理系統
適用場景:(1) 開源軟體的開發
(2) 同步需求不頻繁或者異地的多人協作。