什么是版本控制工具
版本控制工具提供完備的版本管理功能,用于存儲、追蹤目錄(文件夾)和文件的修改歷史,是軟件開發(fā)者的必備工具,是軟件公司的基礎設施。
版本控制最主要的功能就是追蹤文件的變更。它將什么時候、什么人更改了文件的什么內(nèi)容等信息忠實地了已錄下來。每一次文件的改變,文件的版本號都將增加。除了記錄版本變更外,版本控制的另一個重要功能是并行開發(fā)。軟件開發(fā)往往是多人協(xié)同作業(yè),版本控制可以有效地解決版本的同步以及不同開發(fā)者之間的開發(fā)通信問題,提高協(xié)同開發(fā)的效率。并行開發(fā)中最常見的不同版本軟件的錯誤(Bug)修正問題也可以通過版本控制中分支與合并的方法有效地解決。
⒈協(xié)同開發(fā):團隊協(xié)作共同完成同一個項目
⒉版本管理:以不斷提升項目版本的方式逐步完成項目。
⒊數(shù)據(jù)備份:開發(fā)中以版本控制的形式保存每一個歷史版本。
⒋權(quán)限控制:對團隊開發(fā)人員進行不同的權(quán)限分配。
⒌分支管理:允許開發(fā)團隊在工作過程中多條生產(chǎn)線同時推進任務,進一步提高效率。
CVS、SVN、VSS……
不同的客戶端直接跟服務器端交互工作,可以進行提交操作、克隆操作等。不同客戶端之間是相互獨立的。
Git、Mercurial、Bazaar、Darcs……
每個用戶都有自己在本地的倉庫,用來管理版本控制,每個客戶端也同時是一個服務器。同時也可以用一個專門的服務器的倉庫用來管理。