如果您是程序員或開發人員,正在開發軟件應用程序或任何網站,您需要某種版本控制系統來跟踪更改。 版本控制系統 也被稱為 單片機 (小的我們的 C。訂單管理)工具或 RCS (R。想像力 C。控制 小的系統)。
版本控制是軟件工具中的一種方法或類,可幫助您跟踪代碼中的更改,以便您可以比較不同的代碼版本,並在出現問題時輕鬆恢復到早期版本。當多個開發人員連續工作或修改源代碼時,這很有用。
內容
版本控制系統的優勢
VCS 允許程序員查看項目歷史以了解以下詳細信息:
- 對您的代碼進行了哪些更改?
- 誰改了代碼?
- 代碼什麼時候改的?
- 我為什麼要改變?
這是對 VCS 實際工作方式的簡單圖示說明。
在上圖中,淺藍色球的第一行是主分支,即源代碼的主分支。所以 v0.1 什麼時候 v0.2 創建多個版本以獲取整個源代碼的快照。根據要求從主分支創建多個分支,例如發布、開發和補丁分支。多個開發人員可以通過創建不同的分支並最終合併到主分支來處理同一個項目。
VCS 類型
有兩種類型的 VCS:
- 集中式版本控制系統(CVCS),
- 分佈式版本控制系統 (DVCS)。
首先,讓我們快速了解一下集中式版本控制系統。
集中式版本控制系統
集中式版本控制系統以客戶端-服務器關係工作。服務器擁有所有信息
給客戶。它是一種為開發人員提供最新代碼的共享存儲庫。因此,開發人員每次都在主副本上工作。這就像提取代碼的最新副本、處理它(提交更改)並將代碼推送到存儲庫一樣簡單。
集中式 VCS 的主要缺點是它會成為單點故障。如果中央服務器出現故障,它將變得不可用。如果你正在做遠程提交,它也會花費更長的時間。提交更改需要互聯網連接。
例子:
- 開源 -> 並發版本系統 (CVS)、Subversion (SVN)。
- 擁有 -> TeamCity、Vault、IBM 配置管理版本控制 (CMVC)。
分佈式版本控制系統

分佈式版本控制系統有一個集中的存儲庫,每個開發人員都有一個存儲庫的本地副本。
開發人員可以同時處理本地副本。代碼工作不需要互聯網連接。你的代碼可以做任何事情,除了推和拉。如果中央服務器發生故障,您的本地存儲庫不受影響。
例子:
- 開源 – Git,Mercurial,集市。
- 擁有 – Visual Studio 團隊服務,Plastic SCM。
SVN(集中式VCS)和GIT(分佈式VCS)架構的區別
下圖解釋了 CVCS 和 DVCS 之間的區別。

從上圖可以很容易地看出,SVN(Centralized VCS)只有一個中央倉庫,而GIT(Distributed VCS)有中央倉庫和本地倉庫。
希望您對 VCS 及其類型有一個基本的了解。我們計劃在未來發布更多與 VCS 相關的指南。敬請關注!
相關文件:
- 什麼是 Git 以及如何在 Linux 上安裝 Git
關於作者:
提瓦里博士 一位 DevOps 工程師,他喜歡自動化事物,大規模使用 Linux,並夢想有一天系統足夠智能,您甚至不需要登錄 Linux 機器。 從 CI/CD 源代碼到代碼部署到生產。
FAQGitLinuxRCS 版本控制系統 SCM 源代碼控制 VCSV 版本控制系統