複製鏈接
請複製以下鏈接發送給好友

版本控制軟件

鎖定
版本控制軟件提供完備的版本管理功能,用於存儲追蹤目錄(文件夾)和文件的修改歷史,是軟件開發者的必備工具,是軟件公司的基礎設施。版本控制軟件的最高目標,是支持軟件公司的配置管理活動,追蹤多個版本的開發和維護活動,及時發佈軟件
中文名
版本控制軟件
外文名
版控軟件
常用控制軟件
Clear case

版本控制軟件軟件作用

簡單點説,你在開發過程中,會不斷髮現新需求,不斷髮現bug,如果不做控制,你的軟件將永遠不會發布,或今天一個版本,明天又是一個版本。

版本控制軟件控制軟件

Perforce,StarTeam--------〉入門級
0.GIT -----〉最流行
SVN
1.Clear case --------〉中堅級
2.CVS --------〉開源奇葩
3.Visual SourceSafe--------〉新秀級
4. SourceAnywhere --------〉中堅級
5.PVCS--------〉小工作組級
6 Perforce --------〉新秀級
7.CCC --------〉元老級
8.StarTeam --------〉元老級
9.RCS --------〉元老級
10.SCCS --------〉元老級
11.Hansky Firefly
12.Others(還有一些比較少見或某個公司專用的軟件,如Seapine,JBCM等)

版本控制軟件軟件簡介

1.Visual Source Safe(簡稱VSS)
VSS是美國微軟公司的產品,目前常用的版本為6.0版。VSS是配置管理的一種很好的入門級的工具。
易學易用是VSS的強項,VSS採用標準的windows操作界面,只要對微軟的產品熟悉,就能很快上手。VSS的安裝和配置非常簡單,對於該產品,不需要外部的培訓(可以為公司省去一筆不菲的費用)。只要參考微軟完備的隨機文檔,就可以很快的用到實際的工程當中。
VSS的配置管理的功能比較基本,提供文件的版本跟蹤功能,對於build和基線的管理,VSS的打標籤的功能可以提供支持。VSS提供share(共 享)、branch(分支)和合並(merge)的功能,對於團隊的開發進行支持。VSS不提供對流程的管理功能,如對變更的流程進行控制。
VSS不能提供對異地團隊開發的支持。此外VSS只能在windows平台上運行,不能運行在其他操作系統上。 有軟件提供商提供VSS插件,可以同時解決VSS跨平台和遠程連接兩個問題,例如SourceAnywhere for VSS, SourceOffSite等。
VSS的安全性不高,對於VSS的用户,可以在文件夾上設置不可讀,可讀,可讀/寫,可完全控制四級權限。但由於VSS的文件夾是要完全共享給用户後,用户才能進入,所以用户對VSS的文件夾都可以刪除。這一點也是VSS的一個比較大的缺點。
VSS沒有采用對許可證進行收費的方式,只要安裝了VSS,對用户的數目是沒有限制的。因此使用VSS的費用是較低的。
微軟不再對VSS提供技術支持。
2.Concurrent Version System(簡稱CVS)
CVS是開發源代碼配置管理工具,其源代碼和安裝文件都可以免費下載。
CVS是源於unix的版本控制工具,對於CVS的安裝和使用最好對unix的系統有所瞭解能更容易學習,CVS的服務器管理需要進行各種命令行操作。目前,CVS的客户端有winCVS的圖形化界面,服務器端也有CVSNT的版本,易用性正在提高。
CVS的功能除具備VSS的功能外,還具有:
它的客户機/服務器存取方法使得開發者可以從任何因特網的接入點存取最新的代碼;它的無限制的版本管理檢出(checkout:注1)的模式避免了通常的 因為排它檢出模式而引起的人工衝突;它的客户端工具可以在絕大多數的平台上使用。同樣,CVS也不提供對變更流程的自動管理功能。
一般來説,CVS的權限設置單一,通常只能通過CVSROOT/passwd, CVSROOT/readers, CVSROOT/writers文 件,同時還要設置CVS REPOS的物理目錄權限來完成權限設置,無法完成複雜的權限控制;但是CVS通過CVS ROOT目錄下的腳本,提供了相應功 能擴充的接口,不但可以完成精細的權限控制,還能完成更加個性化的功能。
CVS是開發源碼軟件,無需支付購買費用。
同樣因為CVS是開發源碼軟件,沒有生產廠家為其提供技術的支持。如發現問題,通常只能靠自己查找網上的資料進行解決。
3.StarTeam
StarTeam是Borland公司的配置管理工具,StarTeam屬於高端的工具,在易用性,功能和安全性等方面都很不錯。
StarTeam的用户界面同VSS的類似,它的所有的操作都可通過圖形用户界面來完成,同時,對於習慣使用命令方式的用户,StarTeam也提供命令集進行支持。同時,StarTeam的隨機文檔也非常詳細。
除了具備VSS,CVS所具有功能外,StarTeam還提供了對基於數據庫的變更管理功能,是相應工具中獨樹一幟的。StarTeam還提供了流程定製 的工具,用户可跟據自己的需求靈活的定製流程。與VSS和CVS不同,VSS和CVS是基於文件系統的配置管理工具,而StarTeam是基於數據庫的。 StarTeam的用户可根據項目的規模,選取多種數據庫系統
STARTEAM無需通過物理路徑的權限設置,而是通過自己的數據庫管理,實現了類似WINDOWSNT的域用户管理和目錄文件ACL控制。 StarTeam完全是域獨立的。這個優勢可以為用户模型提供靈活性,而不會影響到現有的安全設置。StarTeam的訪問控制非常靈活並且系統。您可以 對工程,視圖,文件夾一直向下到每一個小的item設置權限。對於高級別的視圖(view),訪問控制可以與用户組、用户、項目甚至視圖等鏈接起來。
StarTeam是按license來收費的,比起VSS,CVS來,企業在啓動StarTeam進行配置管理需要投入一定資金。
Borland公司將對用户進行培訓,並協作用户建立配置管理系統。並對用户提供技術升級等完善的支持。
4.ClearCase
ClearCase是Rational公司的產品,也是目前使用較多的配置管理工具。
ClearCase的安裝和維護遠比StarTeam複雜,要成為一個合格的ClearCase的系統管理員,需要接受專門的培訓。ClearCase提供命令行和圖形界面的操作方式,但從ClearCase的圖形界面不能實現命令行的所有功能。
ClearCase提供VSS,CVS,StarTeam所支持的功能,但不提供變更管理的功能。Rational另提供了ClearQuest工具提供 對變更管理的功能,與StarTeam不同,ClearCase後台的數據庫是專有的結構。ClearCase對於windows和unix平台都提供支 持。ClearCase通過多點複製支持多個服務器和多個點的可擴展性,並擅長設置複雜的開發過程。
ClearCase的權限設置功能與StarTeam相比,StarTeam有獨立的安全管理機制,ClearCase沒有專用的安全性管理機制,依賴於操作系統。
要選用ClearCase,需要考慮的費用除購買license的費用外,還有必不可少的技術服務費用,沒有Rational公司的專門的技術服務,很難 發揮出ClearCase的威力。如現在網上雖有ClearCase的破解軟件,但嘗試應用的公司大多失敗的緣故。另外,對於web訪問的支持,對於變更 管理的支持功能都要另行購買相應的軟件。
Rational公司已被IBM公司收購,所以有可靠的售後服務保證。
5.SVN
SVN全名Subversion,即版本控制系統。
SVN與CVS一樣,是一個跨平台的軟件,支持大多數常見的操作系統。作為一個開源的版本控制系統,Subversion 管理着隨時間改變的數據。 這些數據放置在一箇中央資料檔案庫中。 這個檔案庫很像一個普通的文件服務器, 不過它會記住每一次文件的變動。 這樣你就可以把檔案恢復到舊的版本, 或是瀏覽文件的變動歷史。Subversion 是一個通用的系統, 可用來管理任何類型的文件, 其中包括了程序源碼。
SubVersion:實現服務系統的軟件。
TortoiseSVN:是SVN客户端程序,為windows外殼程序集成到windows資源管理器文件管理系統的Subversion客户端。
SVNService.exe:是專為 SubVersion 開發的一個用來作為 Win32 服務掛接的入口程序。
AnkhSVN:是一個專為Visual Studio提供SVN的插件
6.SourceAnywhere
SourceAnywhere系列是由加拿大公司Dynamsoft開發的,有三個產品,SourceAnywhere for VSS, SourceAnywhere Standalone, SourceAnywhere Hosted.
SourceAnywhere for VSS是微軟推薦的遠程和跨平台訪問VSS的工具。SourceAnywhere Standalone界面風格與VSS相似,但它是基於SQL Server的,且有其它一些安全和遠程訪問機制,可以廣域網中使用;支持把數據從VSS庫中導入SourceAnywhere。SourceAnywhere Hosted是SourceAnywhere Standalone的託管服務SaaS。
7.Git
Git是一個開源的分佈式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理.
Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。
Torvalds 開始着手開發 Git 是為了作為一種過渡方案來替代 BitKeeper,後者之前一直是 Linux 內核開發人員在全球使用的主要源代碼工具。開放源碼社區中的有些人覺得 BitKeeper 的許可證並不適合開放源碼社區的工作,因此 Torvalds 決定着手研究許可證更為靈活的版本控制系統。儘管最初 Git 的開發是為了輔助 Linux 內核開發的過程,但是我們已經發現在很多其他自由軟件項目中也使用了 Git。例如 最近就遷移到 Git 上來了,很多 Freedesktop 的項目也遷移到了 Git 上。

版本控制軟件總結

windows平台進行支持,建議作為項目配置管理的入門時採用的工具;CVS的安全性和版本管理功能較強,可以實現異地開發的支持,但CVS安裝和使用 多采用命令行方式,學習曲線高,同時不提供對變更管理的功能,對於小型團隊,可以採用CVS進行管理。ClearCase功能完善,安全性好,可以支持復 雜的管理,但學習曲線和學習成本高,需要集成ClearQuest才能完成完整的配置管理功能;StarTeam很好地平衡了功能性、易用性和安全性,同 時集成了版本管理、變更管理和缺陷管理。對大型的團隊開發和建立組織級的配置管理體系,建議採用ClearCase和StarTeam作為配置管理工具。
以上幾種工具的總結如下:VSS的使用簡便易學,但VSS的功能和安全性較弱,且只對可以顯示開機時所有啓動的項目。