以下是版本控制軟體比較。下表包括知名的版本控制和軟體配置管理（SCM）軟體的一般資訊和技術資訊。對不適用原始碼的 SCM 軟體，見。 一般資訊 表格說明 庫模式表示原始碼庫各個副本之間的關係。在一個主從式架構中，使用者透過客戶端訪問總庫；一般而言，他們本地機器只儲存專案樹的一個工作副本。工作副本的變化必須提交到總庫之後才能反映給其他使用者。而在分散式架構中，庫之間是平等的，使用者一般除了他們的工作副本之外，還有本地庫來存放版本歷史。 併發模式表示如何管理工作副本的變化，以防止同時編輯造成庫中的資料混亂。在鎖定模式下，只有使用者從總庫請求並得到了一個檔案的排他鎖，才允許改變檔案。在合併模式下，使用者可以自由編輯檔案，但當他們提交變化到總庫時會被告知可能存在衝突，隨後版本控制系統可能會對雙方合併這些變化，或者當發生衝突時讓使用者來決定。注意，分散式版本控制幾乎都是合併的併發模式。 軟體 維護者 開發狀態 庫模式 併發模式 許可證 平臺支援 費用 Micro Focus International 主從式 合併或鎖定 大部分 Java 平臺（類 Unix 系統、Windows、OS X） （350 人） GNU Bazaar Canonical 公司 分散式、主從式 合併 類 Unix 系統、Windows、OS X BitKeeper BitMover 公司 分散式 合併 類 Unix 系統、Windows、OS X 主從式 合併或鎖定在 ClearCase 中，可以設定觸發器來開啟鎖定模式，這已經在很多地方使用。然而，ClearCase 開發通常出現在個人分支，在這種情況下每個開發者擁有他們自己的分支，因此鎖定還是合併的併發模式關係不大。一旦開發者準備好將他們的程式碼交付到專案中，程式碼就被合併到主分支。 Linux、Windows、AIX、Solaris、HPUX、i5OS、OS390、zOS （4600 浮動許可證）（每個使用者自動持有至少 30 分鐘，可以手動釋放） Reliable 軟體 分散式 合併 Windows （150 人） Ross Cohen 官方網站已下線；最新版本為 2007 年 7 月 13 日 分散式 精確 codeville 合併 類 Unix 系統、Windows、OS X CVS CVS 團隊 維護但不增加新功能 主從式 Merge 類 Unix 系統、Windows、OS X March Hare 軟體及社群成員 維護且新功能開發中 主從式 Merge or lock 類 Unix 系統、Windows、OS X、i5OS Darcs 團隊 分散式 合併 類 Unix 系統、Windows、OS X 主從式 合併或鎖定 Windows、Linux、Solaris、AIX、HP UX、zOS CA 公司 主從式 合併或鎖定 zOS Fossil 分散式 合併 POSIX、Windows、OS X 及其它 Git 濱野純 分散式 合併 POSIX、Windows、OS X GNU arch Andy Tai 不維護 分散式 Merge 類 Unix 系統、Windows、OS X IC Manage IC Manage 公司 主從式 合併或鎖定 類 Unix 系統、Windows、OS X （商業的） Integrity，PTC 的子公司 主從式 合併或鎖定 類 Unix 系統、Windows Mercurial Matt Mackall 分散式 合併 類 Unix 系統、Windows、OS X Monotone Nathaniel Smith Graydon Hoare 分散式 合併 類 Unix 系統、Windows、OS X Perforce Perforce 軟體公司 主從式 合併或鎖定 類 Unix 系統、Windows、OS X Plastic SCM Codice 軟體 主從式 合併或鎖定 Linux、Windows、OS X PVCS Serena 軟體 主從式 鎖定 Windows、類 Unix 系統 主從式 RTC 不是分散式版本控制系統；但擁有某些分散式特徵可以配置 合併或鎖定 Linux、Windows、AIX、Solaris、HPUX、i5OS、OS390、zOS、OS X Revision Control System ThienThi Nguyen 本地 合併或鎖定 類 Unix 系統 SCM Anywhere 公司 主從式 合併或鎖定 類 Unix 系統、Windows、OS X （單使用者免費；299 人，量大優惠） Source Code Control System Jörg Schilling 原始的 Unix 原始碼存在各種變體，但只有一個在持續維護 本地 鎖定當多個使用者同時編輯一個檔案的同一個版本時，只有其中一個可以將變化寫回去。 類 Unix 系統、Windows、OS X Borland 主從式 合併或鎖定 Windows 並透過 Java 客戶端跨平臺 （Quoted on an individual basis） Subversion（SVN） Apache 軟體基金會 主從式 SVK 允許 Subversion 擁有分散式分支。 合併或鎖定在 Subversion 中，一個檔案屬性允許鎖定模式基於每個檔案。 類 Unix 系統、Windows、OS X 主從式 合併或鎖定 Linux、Windows、OS X （595 人；訂閱 29 月） SVK Best Practical 不維護 主從式，去中心化的 Merge 類 Unix 系統、Windows、OS X Team Foundation Server（TFS） 微軟 主從式、分散式 合併或鎖定 Windows，透過 Visual Studio Team Services 跨平臺 主從式、分散式 合併或鎖定 Linux、Windows、類 Unix 系統 （聯絡 IBM Rational） SourceGear LLC 主從式 合併或鎖定 類 Unix 系統、Linux、Windows （300 人） SourceGear LLC 網站顯示不維護；最新版本 2013 年 3 月 25 日 20130325 分散式 Merge or lock 類 Unix 系統、Linux、Windows Kenneth Schalk、Tim Mann 網站自 2006 年後未更新；最新版本 2009 年 2 月 15 日 分散式模擬 NFS 協議，可以同時使用主從式 鎖定分支；分支合併 Tru64、Linux Visual SourceSafe（VSS） 微軟 只修復嚴重錯誤 共享資料夾 合併或鎖定 Windows （500 許可證，或單許可證 每個 MSDN 訂閱 軟體 維護者 開發狀態 庫模式 併發模式 許可證 平臺支援 費用 技術資訊 表格說明 軟體：應用的名稱。 程式語言：程式語言中的應用正在發展 儲存方法：表示檔案在庫中儲存的形式。快照表示提交的檔案被整個儲存 通常是壓縮的。變化集表示提交的檔案只儲存它與前後版本的區別。 變化範圍：表示記錄的變化是針對單獨的檔案，還是整個目錄樹。 版本 ID：用來在庫中標識檔案的特定版本。系統可以使用偽隨機識別符號、版本的內容雜湊值或帶有版本序列號（名稱空間）的檔名。而 Integrated Difference 的版本號則基於變化集自身，它可以表示多個檔案的變化。 網路協議：同步變化時所使用的協議列表。 原始碼規模：原始碼的大小以兆（megabyte）為單位。 軟體 程式語言 儲存方法 變化範圍 版本號 網路傳輸協議 原始碼體積 C、Java 變化集 檔案 數字對：NNNN 自定義 GNU Bazaar Python、Pyrex、CBazaar 的 critical 模組是用 Pyrex 寫的。 快照 樹 偽隨機 自定義、基於 ssh 自定義、基於 HTTP 自定義、HTTP、SFTP、FTP、郵件 bundleBazaar bundle 是一個簡要的差異，有足夠的額外資訊來保留歷史。、WebDAV（需要外掛） 41 MB BitKeeper C 變化集 樹 變化集的鍵、數字 自定義、HTTP、rsh、ssh、郵件 99 MB C、C、Java、HTML 變化集和快照 檔案和樹 數字 HTTP、TCPIP C、Java、Perl 變化集 檔案和樹 數字 自定義（CCFS）、自定義（MVFS 檔案系統驅動器）、HTTP C 變化集 使用者 ID 序列號 電子郵件（MAPI、SMTPPOP3、Gmail）、LAN Python CVS C 變化集 檔案 數字 pserver、ssh 33 MB C 變化集 檔案和樹 數字 基於 ssh、sspi、sserver、gserver、pserver 自定義 55 MB Haskell 變化集（補丁）二進位制檔案採用快照 樹 na 基於 ssh、HTTP、郵件自定義 17 MB C、C、Java、C 快照或變化集 檔案和樹 數字 自定義、HTTPHTTPS Fossil C 快照 樹 SHA1 或 SHA3 雜湊 HTTPHTTPS、基於 ssh 自定義 72 MBsqlite3c 的為 4 MB Git C、shell 指令碼、Perl 快照 樹 SHA1 雜湊 自定義（git）、基於 ssh 自定義、HTTPHTTPS、rsync、郵件、bundles 22 MB GNU arch C、shell 指令碼 變化集 樹 數字 HTTP、WebDAV IC Manage C、C 變化集 數字 自定義 Mercurial Python、C 變化集 樹 數字、Mercurial 版本號是本地的；它們可以與庫中的不同，這取決於按什麼順序執行合併。SHA1 雜湊 基於 ssh 自定義、HTTP、郵件 bundles（有標準外掛） 20 MB C、Java 變化集 檔案 數字 自定義、HTTP Monotone C 混合 Monotone 的版本代表變化集，它的清單代表快照，每個版本都連結到一些清單。但清單屬於遺留結構，他們不再被儲存到資料庫中，也不能在需要時重建。現在真正的工作發生在 rosters 中，它是混合的快照 變化集結構。 樹 SHA1 雜湊 自定義（netsync）、基於 ssh 自定義、檔案系統 44 MB C、C、LabVIEW 變化集 樹 數字 自定義 C、C 變化集 檔案 數字 Java 變化集 樹 數字 基於 HTTPHTTPS 的 REST 服務 C 變化集 檔案 數字 檔案系統 53 MB C、Java、C 變化集 檔案和樹 數字 基於 HTTPHTTPS 的 SOAP C 變化集 檔案 Numbers NFS 13 MB C、C、Java 快照 檔案和樹 MD5 雜湊 自定義、TCPIP Subversion C 變化集和快照 樹 數字 自定義（svn）、基於 ssh 自定義、HTTP 和 SSL（使用 WebDAV） 52 MB C 變化集 檔案和樹 數字 TCPIP SVK Perl 變化集 樹 數字 Java 變化集（文字） 快照（二進位制） 檔案 數字 自定義、基於 ssh 自定義、HTTP Team Foundation Server C 變化集 檔案和樹 數字 基於 HTTPHTTPS 的 SOAP C 變化集 檔案和樹 數字 HTTP、HTTPS C、JavaScript 變化集 樹 數字、Veracity 版本號是本地的；它們可以與庫中的不同，這取決於按什麼順序執行合併。SHA1、SHA2 和 Skein 雜湊 HTTP 52 MB C 快照 樹 NFS 158 MB Visual SourceSafe C 快照 檔案 數字 SMB、DCOM 軟體 程式語言 儲存方法 變化範圍 版本號 網路傳輸協議 原始碼體積 功能 表格說明 軟體：應用的名稱。 原子提交：保證所有的改變都提交成功或者都不成功。 檔案重新命名：表示系統是否允許檔案在改名後仍然保留他們的版本歷史。 合併檔案重新命名：表示系統是否能夠將一個分支上的檔案變化合併到另一個分支上已重新命名的同一個檔案上（或者相反）。 如果同一個檔案在兩個分支上都已經重新命名，則產生重新命名衝突，必須由使用者來解決。 符號連結：表示一個系統是否允許象普通檔案一樣對符號連結進行版本控制。 對符號連結的版本控制，某些人認為是一項功能，而另一些人則認為存在安全隱患（例如，一個到 etcpasswd 的符號連結）。符號連結只支援特定的平臺，這取決於軟體的實現。 前 後事件觸發：表示有能力在一個動作之前或之後觸發命令，例如發生一個提交的動作。 簽名版本：指集成了版本的數字簽名，例如以 OpenPGP 的格式。 合併跟蹤：表示一個系統是否記得在哪些版本之間合併了哪些變化，並且只合並那些從一個分支合併到另一個分支時丟失的變化。 換行轉換：表示一個系統是否能適配文字檔案的換行符，從而匹配當前使用的作業系統的換行方式。控制變化的粒度，例如 Subversion，可以進行配置，依據檔案型別來處理換行符的不同，而 Perforce 根據一個單一、每個客戶端的配置轉換所有的文字檔案。 標籤：表示是否可以給一個特定版本賦予一個帶有含意的名字，無論這些名字被叫做標記還是標籤。 國際化支援：表示該軟體是否支援多語言環境和多作業系統。 Unicode 檔名支援：表示該軟體是否支援使用不同 字元編碼 的檔案系統之間的互操作。 大庫支援：系統能高效處理十億位元組左右或更大的庫嗎？ 軟體 原子提交 檔案重新命名 合併檔案重新命名 符號連結 前 後事件觸發 簽名版本 合併跟蹤 換行轉換 標籤 國際化支援 Unicode 檔名支援 大庫支援 邪惡分身是常事。邪惡分身在 SCM，而不是好萊塢 GNU Bazaar BitKeeper 原子提交可以實現於個別檢入 ClearCase 711 釋出說明。 本國語言和 ClearCase 的支援策略，來自 IBM 支援 CVS 見 FAQ darcs 的每個補丁具有一個唯一識別符號，不可能兩次將同一個補丁合併到庫中（除非使用 不安全 命令破壞性地修改歷史）。 儘管它儲存（及預設顯示）使用 8 位檔名。見 FAQ 使用單項版本屬性（單項工作 演示，覆蓋使用者定義屬性 ）。 它的訊息和圖形介面只有英語本地化，儘管軟體被驗證可以很好地執行在不同語言的作業系統上。 Fossil 由 crnlglob 設定來控制 Git Git 不明確地跟蹤重新命名，因為從設計上它不跟蹤個別檔案。重新命名和拆分原始檔時，如果檔案內容不發生顯著變化，則會被檢測到。 從 git179 以後（見 release notes ）。更老的版本不對提交簽名，僅標籤（見 git 標籤（1）手冊頁 中的 s 選項） 自 1710 版本起支援 UTF8 檔名（MSysGit 釋出說明）。 對於非常大的庫，Git 存在一些問題。見 SoC 2012 Ideas 中 更好的大檔案支援 一節和 設計一個更快的索引格式 一節。 GNU arch IC Manage 完全允許變化包提供全部工作流，21 CFR Part 11 服從基於單項控制變化包的數字簽名。 2009 SP5 加入了一項功能來合併子開發路徑。 Mercurial Mercurial 正在進行翻譯，目標語言至少包括荷蘭語和漢語 支援對主機作業系統的依賴，對 Unix 支援得很好，但對 Windows 作業系統支援得不好。見 大檔案擴充套件 （從 Hg Rev20 以後） Monotone 可以透過使用者級鉤子實現 ，強制的 來自 Perforce 使用者指南 來自 Perforce 使用者指南 Perforce 將對符號連結本身進行版本控制，但如果您透過符號連結訪問它們，並不會識別出它自己的被版本控制的檢視（本地檔案樹）。 貫穿過程行為元件：操作顧問好操作參與者。httpjazznetlibraryarticle292 雖然 SCCS 的原始碼是按支援國際化寫的，但實際上只有英語的訊息。 從 2006 版之後支援 Subversion 當且僅當移動的目標檔案與原始檔在同一個 Subversion 庫中，Subversion 可以移動一個檔案並儲存它的歷史。跨庫的移動需要用第三方工具，比如 svk。 從 SVN 18 開始，subversion 在客戶端支援改進的移動跟蹤。在伺服器端仍然不支援。 SVN 15 新加入 。單獨工具 svnmerge 提供對舊版本的合併跟蹤。 在 Subversion 中，標籤是 Subversion 更通用的 低代價複製 概念的一個特例。按照約定，標籤是一個副本，它會進入一個叫做 tags 的目錄。因此，標籤也是被納入版本管理的。更多資訊參見 。表格中部分支援的原因是，Subversion 實現標籤的這種方式並不符合以下要求 標籤名可以被用來代替任何版本識別符號，無論使用者在哪兒都可以訪問。如果定義被放鬆到包含 Subversion 的接近程度，這一列就會變得無意義 象每一種版本控制系統都支援分支，因此也支援標籤一樣。 Seapine 軟體釋出 Surround SCM 2009 SVK 使用 subversion 伺服器 簽名 SVK Wiki v66a 到 v71a 在亞洲版，從 v72 開始在通用版 Team Foundation Server Visual SourceSafe 重新命名時移除版本改變歷史；舊名字不再被引用。 軟體 原子提交 檔案重新命名 合併檔案重新命名 符號連結 前 後事件觸發 簽名版本 合併跟蹤 換行轉換 標籤 國際化支援 Unicode 檔名支援 大庫支援 高階功能 表格說明 關鍵詞擴充套件：支援關鍵詞自動擴充套件，例如檔案版本號。 互動式提交：互動式提交允許使用者對變化精挑細選，並決定哪些變化可以提交（未被選擇的變化只被保留為工作副本的變化），而不是隻到檔案級別的粒度。 外部引用：在原始碼樹中嵌入外部庫。 部分檢出 複製：從庫中只檢出或複製特定子目錄的能力。 許可權位：在版本歷史中跟蹤檔案許可權位。 保留時間戳：對於檔案系統屬性中的最後修改時間，以提交時間覆蓋檢出時間。 使用者自動合併工具：自動合併可以嘗試透過使用者選擇的任何工具來進行（希望能以每個檔案為基礎來配置）。 支援的格式：支援讀 寫，或者只讀（轉換，有可能再重複）。 共享所得目標的構建快取：透過這一能力，如果其他協作使用者恰好共享了同樣的依賴，可以引入其他使用者構建的所得目標，而無需在本地重建它們。 軟體 關鍵詞擴充套件 互動式提交 外部引用 部分檢出 複製 許可權位 保留時間戳 使用者自動合併工具 支援的格式 共享所得目標的構建快取 git（bidir） GNU Bazaar 仍 未實現 bzr、subversion、git、hg、任何有快速匯出功能的 BitKeeper bitkeeper CA Software Change Manager 文章《IBM Rational ClearCase：最好的十種觸發器 》 不能在動態檢視中停用。 ClearCase CVS 使用 CVSROOTmodules 檔案的別名。 當加入一個檔案時，CVS 會記錄它的執行位，但並被允許在之後改變它。 cvs 這是一個 GUI 功能，它是透過 TortoiseCVS 和 WinCVS 來支援的，它們都包含 使用 CVSNT。 和 CVS 一樣，並增加了複製庫（包括 影子 庫）的能力。 使用模組 目錄名或別名來建立，使用 CVSROOTmodules 或 CVSROOTmodules2 管理檔案。 cvs 要求所使用的構建工具也支援。 Darcs 可以從明確的檢查點部分檢出，但這隻適用於 darcs1 庫，而被適用於 darcs2 庫。 Darcs 可以自動檢測 指令碼，並在檢出時使它們可執行。 darcs 使用者指南 將一個專案或流關聯到其它物件 ）。 從 ClearCase、Subversion、CVS、PVCS、ChangeMan DS 遷移 Fossil 可以巢狀檢出，命令為 fossil open nested 清單 ，Fossil 檔案格式 fossil（使用 sqlite），任何有快速匯出功能的 Git Git FAQ 宣告，關鍵詞擴充套件不是一件好事 add i 和 add p，參見 gitadd 1 指南頁面 Git FAQ 解釋，為什麼經過深思熟慮，認為保留修改時間是有害的。 git、cvs、subversion、hg、任何有快速匯出功能的 Mercurial hg、subversion、git、任何被 Convert 擴充套件支援的其它格式 Perforce NA rcs 在伺服器端可以作為專案選項配置，在客戶端可以作為使用者選項配置。 Surround SVK commit interactive，參見 SVK 命令：提交 subversion Subversion 透過第三方工具，如 Tortoise SVN。 SVN 不能保留檔案修改時間。如果客戶端要求，它可以恢復檢入時間作為最後修改時間。預設不支援。 檔案的 MIME 型別必須被檢測為一個 人類可讀 的 MIME 型別，即使合併工具可以與非人類可讀的檔案一起工作。 subversion Team Foundation Server Git 、 Team Foundation Version Control TFVC git、cvs、subversion、hg、任何有快速匯出功能的 透過 SDL Vesta Visual SourceSafe 軟體 關鍵詞擴充套件 互動式提交 外部引用 部分檢出 複製 許可權位 保留時間戳 使用者自動合併工具 支援的格式 共享所得目標的構建快取 基本命令 表格說明 綠格中不在 方括號 裡的命令使用了互動式的命令列提示符。方括號 中的文字用來解釋哪裡能找到等價功能。 庫初始化：建立一個新的空庫（比如，版本控制資料庫）。 克隆：建立一個完全相同的庫例項（在一個安全事務中）。 拉：將版本從遠端庫下載到本地庫。 推：將版本從本地庫上傳到遠端庫。 本地分支：建立一個不存在於原始遠端庫中的本地分支。 檢出：從（遠端）庫建立一個本地工作副本。 更新：用庫中的最新版本更新工作副本中的檔案。 鎖定：鎖定庫中的檔案，以免被其他使用者更改。 新增：標記指定的檔案，以便在下一次提交時新增到庫中。 移除：標記指定的檔案，以便在下一次提交時移除（注：儲存在移除時及之前的相關版本歷史）。 移動：標記指定的檔案，以便在下一次提交時移動到新的位置。 複製：標記指定的檔案，以便在下一次提交時複製。 合併：融合同一個工作副本路徑的兩個來源之間的差別。 提交：將變化記錄到庫中。 恢復：從庫中恢復工作副本檔案。 生成打包檔案：建立一個包含壓縮的對給定庫的變化集的檔案。 重定位：將本地提交重定位到已更新的上游地址。 軟體 庫初始化 克隆 拉 推 本地分支 檢出 更新 鎖定 新增 移除 移動 複製 合併 提交 恢復 生成打包檔案 重定位 GNU Bazaar BitKeeper CVS Fossil Git Mercurial Monotone SVK Subversion Visual SourceSafe 軟體 庫初始化 克隆 拉 推 本地分支 檢出 更新 鎖定 新增 移除 移動 複製 合併 提交 恢復 生成打包檔案 重定位 高階命令 表格說明 綠格中不在 方括號 裡的命令使用了互動式的命令列提示符。方括號 中的文字用來解釋哪裡能找到等價功能。 命令別名：為指定的命令或組合建立定製的別名 鎖定 解鎖：排他性地鎖定一個檔案，以防被其他人編輯。 擱置 取消擱置：在工作目錄中暫時擱置部分或全部的變化。 回滾：從歷史中移除一個版本。 挑選：只把某些修訂從一個分支移動到另一個分支（而不是合併分支）。 二分檢索：在原始碼歷史中，使用二分檢索來查詢一個變化的引入或修復。 出入：查詢本地庫和遠端庫之間的差別（該差別可能會以推 拉的方式傳送 取回）。 過濾：在庫中搜索，以找到那些匹配一個模式的行。 記錄：在一次提交中只包含一個檔案的某些變化，而不包含其它的變化。 軟體 命令別名 鎖定 解鎖 擱置 取消擱置 回滾 挑選 二分檢索 出入 過濾 記錄 GNU Bazaar BitKeeper Fossil Git Mercurial Monotone SVK Subversion Team Foundation Server 軟體 命令別名 鎖定 解鎖 擱置 取消擱置 回滾 挑選 二分檢索 出入 過濾 記錄 使用者介面 表格說明 軟體：應用的名稱。 網頁版介面：表示應用軟體是否包含一個網頁版介面。網頁版介面可以允許軟體傳送診斷資料到一個網站，甚至能允許對應用軟體進行遠端控制。 圖形介面：GUI，圖形使用者介面。 如果一個軟體產品提供了 GUI，它的功能可以透過應用程式視窗來訪問，而不是隻能透過象 DOS 介面一樣在命令提示符後面敲入命令來訪問。 外掛：功能透過整合開發環境來實現。 最低的功能應該是，列出檔案的版本狀態，及檢入 檢出檔案。 軟體 網頁版介面 獨立 GUI IDE 的整合與 或外掛 有 Windows（incl 與資源管理器整合）、Linux、Unix、OS X、BeOS IntelliJ IDEA、Eclipse、Visual Studio GNU Bazaar 可以使用一個簡單的網頁伺服器 Olive、bzrgtk（GTK）、Bazaar Explorer（Qt）、QBzr（Qt）、TortoiseBzr（Windows） Eclipse（BzrEclipse、QBzrEclipse）、Visual Studio（bzrvisualstudio）、TextMate（TextMateBundle）、Komodo IDE BitKeeper 包含 包含（bkd） 包含 基於 Eclipse 的 GUI Eclipse、MS Visual Studio 包含，Clearcase 網頁介面 較老的：MS Windows 自帶的，類 Unix 系統基於 Motif 的 GUI，ZOS 的 TSO 客戶端。 Emacs、Eclipse（IBM 所有，EclipseCCase）、Visual Studio（IBM 所有）、KDevelop（標準）、IntelliJ IDEA（標準基本版） 不需要，因為整個工程在本地複製 Windows CVS cvsweb、ViewVC 及其它 TortoiseCVS、TkCVS （TclTk）、（Windows 資源管理器）、WinCVS OS X、GTK、Qt Eclipse（團隊）、KDevelop（標準）、IntelliJ IDEA（標準，在社群版和終極版中）、Emacs（標準 VC）、Komodo IDE、BBEdit cvsweb、ViewVC 及其它 Windows、OS X、OS400、GTK、Qt 所有支援 CVS 的，加上 SCCI、Bugzilla、Build 的商業外掛 darcscgi 包含；darcsweb、Trac 開發中；TortoiseDarcs（Windows 資源管理器）、OS X（alpha） Eclipse（eclipsedarcs）、Emacs（vcdarcsel） Windows（incl 與資源管理器整合） Eclipse、Visual Studio、IntelliJ IDEA、XCode、Powerbuilder Fossil 包含內嵌的網頁伺服器（UI 伺服器模式），透過 CGI 模式可以執行多個庫 fuelscm Git Gitweb、wit、cgit、GitLab、GitHub、、Trac、、 、、Bitbucket、Stash、、Bonobo Git Server gitk、gitgui（TclTk）、tig、 Gitbox（OS X）、TortoiseGit、qgit、gitg（GNOMEGTK）、（h）gct（Qt）、gitcola（Qt）、Git Extensions（Windows）、GitEye、SmartGitHg、Tower、SourceTree（OS XWindows）、Sprout（OS X）、GitX（OS X）、GitUp（OS X）、GitKraken Aptana 3 Beta（整合 Git 的 Aptana Studio 3）；Eclipse （JGitEGit）；Netbeans （NbGit）；KDevelop；Visual Studio（Git 擴充套件）；Emacs（標準 VC 擴充套件）；SAP Web IDE；TextMate（Git TextMate Bundle）；Vim（VCSCommand 外掛和 fugitive 外掛）；IntelliJ IDEA 81（標準，社群和基本版）；Komodo IDE；Anjuta GNU arch ArchZoom ArchWay（GTK2）、TlaLog Emacs（標準 VC） IC Manage 包含 Windows、Linux、Unix、OS X Emacs、Cadence Design Framework、Synopsys Custom Designer 有 Windows、Linux、Unix、Solaris、AIX Eclipse、Microsoft Visual Studio、Perforce 及其它。還提供支援工業標準的 Source Code Control（SCC）介面 Mercurial 包含單庫訪問用 hgweb，多庫從一個 HTTP 地址訪問用 hgwebdir，Bitbucket、Trac、、、 Hgk（TclTk）、（h）gct（Qt）、TortoiseHg（Windows 資源管理器、Nautilus）、MacHg、 MacMercurial、Murky、SourceTree（WindowsOS X）、TortoiseHg、SmartGitHg IntelliJ IDEA（hg4idea 第三方外掛）、Eclipse（Mercurial Eclipse）、NetBeans、Visual Studio 2008、Emacs、Vim（VCSCommand 外掛）、Komodo IDE、Eric Python IDE Monotone ViewMTN、TracMonotone MonotoneViz（GTK、Guitone（Qt）、Monotone Browser（GTK、Perl） 包含，P4Web、P4FTP Windows、Linux、Unix、OS X、BeOS Eclipse、Visual Studio（P4SCC）、KDevelop（標準？）、IntelliJ IDEA（標準基本版）、Komodo IDE、BBEdit、Emacs（p4el） 有 基於 Eclipse 的 GUI Eclipse 整合；MS Visual Studio 整合（有限的） 包含 Windows、Java、Eclipse、Visual Studio、BDS2006 整合、Java 命令列 IntelliJ IDEA（標準基本版）、Visual Studio、JBuilder、Eclipse Subversion 包含 Apache 2 模組，WebSVN、ViewSVN、、Trac、、sventon、、 Java、KDESVN、OS XLa Chose web agency and software maker agence web et développement de logiciels （包含 Finder 整合）、Nautilus、Qt、RabbitVCS、RapidSVN、SourceTree（OS X）、TortoiseSVN（Windows 資源管理器） Anjuta、BBEdit、Eclipse（Subclipse、Subversive）、Emacs（標準 VC）、IntelliJ IDEA（標準社群和基本版）、KDevelop（標準）、Komodo IDE、MonoDevelop（標準）、Netbeans、RabbitVCS（GEdit 版）、TextMate（SVNMate 外掛）、Visual Studio（AnkhSVN、VisualSVN） 有 Windows、OS X、Linux Dreamweaver、Eclipse、IntelliJ IDEA、JDeveloper、KDevelop、NetBeans、Powerbuilder、Visual Studio、WebStorm 透過 Telelogic Change 介面 Windows（incl 與資源管理器整合）、Linux、Unix Eclipse（Telelogic 所有）、Visual Studio（Telelogic 所有）、IntelliJ IDEA（Telelogic 所有） Team Foundation Server 包含（Sharepoint Server 用於網頁服務） Windows、OS X、Unix Visual Studio、Eclipse IDE 和 IntelliJ IDEA（標準基本版）的 Java 客戶端 包含 Windows、類 Unix 系統、OS X Visual Studio 2003 及以上、Eclipse 32 及以上 包含 Windows 上的 Tortoise 介面 VestaWeb Visual SourceSafe 不包含；SSWI、VSS Remoting Windows 包含；Linux、OS X 和 Solaris 使用 SourceOffSite；任何有 Java 虛擬機器的使用 Sourceanywhere Visual Studio、IntelliJ IDEA（標準，基本版） 軟體 網頁版介面 獨立 GUI IDE 的整合與 或外掛 歷史及使用者 表格說明 軟體：應用的名稱。 歷史：簡短地講述軟體的起源好發展。 知名使用者：使用該軟體作為主要版本控制系統的知名工程列表，不包括該軟體自己。如果它有一個完整的列表，後邊會列出該列表的連結。 軟體 歷史 知名使用者 2002 年首次公開發布。 美國航空、福特汽車、洛克希德馬丁、Orbitz、施樂、McAfee、Polycom、閃迪、西門子、索尼、賽門鐵克、Thomson Financial、威瑞森無線等等。 GNU Bazaar 與 baz 有一定關係。由 Canonical 公司贊助。 Ubuntu、Launchpad、KatchTV。 BitKeeper 受 Sun WorkShop TeamWare 影響 Linux 核心（20022005）及很多公司。 原公司成立於 1977 年；CA SCM（後來被叫做 CCCHarvest）首次釋出於 1995 年。 沒有公司的允許，CA 不會公開客戶的名單。CA SCM 被很多有全球開發團隊的公司所使用，其中有 13 家位列財富 100。 最初在 1990 年由 Atria 軟體開發，它所追隨的概念由阿波羅電腦於 1980 年代在 DSEE 上開發。最近的版本是 801，於 2011 年 11 月釋出。 IBM、阿爾卡特 朗訊、思科、摩托羅拉、西門子、愛立信、諾基亞、環球銀行金融電信協會及其它世界性大組織。 第一個分散式版本控制系統，於 1997 年進行演示，隨後很快釋出。 CVS 1986 首次被公開發佈於 1986 年 7 月 3 日；基於 RCS。 首次公開發佈於 1998 年；基於 CVS。由 CVS 開發者開始，目的是加入對更寬範圍的開發方法和過程的支援。 主要由專業人員（非業餘愛好者），例如：AnandTech、Wachovia、Wells Fargo、Goldman Sachs。 首次被宣佈於 2003 年 4 月 9 日。 Mnet、xmonad、使用 Darcs 的專案。 1980 年代後期，SQL 軟體以 PCMS Dimensions 的名字開發（PCMS 意為 Product Configuration Management，產品配置管理）。經過多次兼併，該產品以 PVCS Dimensions（1990 年代，Intersolv）、Dimensions（2000 年代早期，Merant）、ChangeMan Dimensions（2004 年，Serena 軟體）及最終的 Dimensions CM（2007 年以後，Serena 軟體）為名釋出。 洛克希德馬丁、歐洲空間局、富士通商業通訊系統及許多全球性公司。Serena 軟體的客戶 Fossil Fossil 和 SQLite 曾經在 2007 年 7 月 21 日以後使用 Fossil。 SQLite、Fossil、TclTk 專案 Git 林納斯託瓦茲於 2005 年 4 月開始，隨著與 BitKeeper 的分歧。 Linux 核心、Android、Bugzilla、GNOME、GNU Emacs、GRUB2、KDE、MySQL、Perl 5、PostgreSQL、XOrg、Cairo、Qt 開發框架、Samba、OpenEmbedded、Ruby、Ruby on Rails、Wine、Fluxbox、Openbox、Compiz Fusion、XCB、ELinks、XMMS2、e2fsprogs、GNU 核心工具、DokuWiki、Drupal、LibreOffice、MediaWiki、 Mono、ASPNET MVC、ADONET 實體框架、NuGet、jQuery 及其眾多外掛、OpenCV、Wireshark、Django、許多公司如愛立信、微軟、華為、蘋果、亞馬遜、LG。 GNU arch Tom Lord 於 2001 年開始，它後來變成 GNU 專案的一部分。Lord 於 2005 年 8 月以維護者的身份辭職。 GNU Savannah 和 Gnaorg 專案。 IC Manage 由 IC Manage 公司開發，該公司由 Shiv Sikand 和 Dean Drako 成立於 2003 年。 許多全球性機構。 最初由 MKS 軟體開發。2011 年 5 月由 PTC 購買。 許多全球工程和 IT 組織。 Mercurial 2005 年 4 月 6 日由 Matt Mackall 開始，隨著與 BitKeeper 的分歧。首次釋出於 2005 年 4 月 19 日。 Python、Mozilla、OpenJDK、NetBeans、Xine、Xen、OpenSolaris、wmii、MoinMoin、LinuxHA、Pidgin、Gajim、Nginx、PyPy、SDL。 Monotone 首次釋出於 2003 年 4 月。 CTWM、Xaraya、I2P、Botan。 由 Perforce 軟體公司開發，該公司由 Christopher Seiwald 於 1995 年建立。 許多全球性機構、FreeBSD、Google 。 10 版本於 2008 年被髮布。 IBM。 1985 年 7 月。 RCS 通常（但不總是）會被其它系統所取代，比如 CVS，而 CVS 正是源於對 RCS 的包裝。 由 Marc Rochkind 於 1972 開始（二進位制歷史檔案，用 Snobol 在 IBM370 上編寫），使用文字歷史檔案的 SCCSv4 於 1977 年 2 月 18 日釋出。同樣的歷史檔案格式在 SCCS 50 中繼續使用。比較 SCCS 4 檔案格式 和 SCCS 50 檔案格式 （作為 sccsfile 4 的幫助檔案），見 作為 POSIX 的程式碼控制工具，SCCS 被廣泛應用於 UNIX 平臺，但並未被包含在許多 Linux 分發版本中。Sun WorkShop TeamWare 使用 SCCS 檔案。 10 版本於 1995 年由 StarBase 軟體開發，StarBase 後被 Borland 收購（Borland 後被 Micro Focus 收購）。 Borland、BT、Cintas、EDS、Kaiser Permanente、Met Office、Quest 軟體、Raymond James、西門子及很多全球分佈的公司。 Subversion 於 2000 年由 CVS 開發者開始，目標是取代 CVS。 ASF、clang、gcc、SourceForge、FreeBSD、Google 程式碼、KDE（直到 2011 年）、PuTTY、Zope、Xiph、GnuPG、CUPS、Apache OpenOffice、TWiki、WebKit、應用於 CodePlex 及很多全球性機構。 SVK 作者是高嘉良和唐鳳。2003 年 11 月 19 日出了第一個版本，2005 年 5 月 9 日 100 版，2006 年 12 月 28 日 200 版。2006 年 6 月 5 日，SVK 成為 Best Practical 的一個產品。 Request Tracker 1988 年由 Caseware 開始開發，稱為 AmplifyControl。該公司於 1994 年改名為 Continuus，而該產品改名為 ContinuusCM 之後變得更加知名。Continuus 在公開上市後不久於 1999 年被 Telelogic 收購；該產品被改名為 Telelogic Synergy。2008 年 IBM 收購了 Telelogic，以便將其整合到它們的 Rational 工具套件中。該產品現在以 IBM Rational Synergy 聞名。 Team Foundation Server 首次公開發佈於 2006 年 3 月。 首次公開發佈於 2003 年 2 月。 首次公開發佈於 2001 年，使用 LGPL。 DEC Alpha 團隊、康柏 Alpha 團隊、Intel 微處理器開發。 Visual SourceSafe 最初由一家叫做 One Tree 軟體的公司創立，版本 31。公司後被微軟收購，微軟於 1995 年左右釋出了 VSS 的 40 版本。 軟體 歷史 知名使用者 參見 版本控制軟體列表 自由軟體託管服務比較 註釋 參考文獻 Category 軟體比較 Category 版本控制系統