版本控制

版本控制

版本控制(Revision control)是一種在開發的過程當中用於管理咱們對文件、目錄或工程等內容的修改歷史,方便查看更改歷史記錄,備份以便恢復之前的版本的軟件工程技術。安全

  • 實現跨區域多人協同開發
  • 追蹤和記載一個或者多個文件的歷史記錄
  • 組織和保護你的源代碼和文檔
  • 統計工程量
  • 並行開發、提升開發效率
  • 跟蹤記錄整個軟件的開發過程
  • 減輕開發人員的負擔,節省時間,同時下降人爲錯誤

簡單的說就是用於管理多人協同開發項目的技術服務器

沒有進行版本控制或者版本控制自己缺少正確的流程管理,在軟件開發過程當中將會引入不少問題,如軟件代碼的一致性、軟件內容的冗餘、軟件過程的事務性、軟件開發過程當中的併發性、軟件源代碼的安全性、以及軟件的整合等問題。網絡

 

常見的版本控制工具

主流的版本控制器有以下這些:併發

  • Git
  • SVN(Subversion)
  • CVS(Concurrent Versions System)
  • VSS(Micorosoft Visual SourceSafe)
  • TFS(Team Foundation Server)
  • Visual Studio Online

版本控制產品很是多(Perforce、Rational ClearCase、RCS(GNU Revision Control System)、Serena Dimention、SVK、BitKeeper、 Monotone、Bazaar、Mercurial、SourceGear Vault),如今影響力最大且使用最普遍的是Git與SVN分佈式

 

版本控制分類

1. 本地版本控制工具

記錄文件每次的更新,能夠對每一個版本作一個快照,或是記錄補丁文件,適合我的用,如RCS版本控制

2. 集中版本控制blog

全部的版本數據都保存在服務器上,協同開發者從服務器上同步更新或上傳本身的修改事務

全部的版本數據都存在服務器上,用戶的本地只有本身之前所同步的版本,若是不連網的話,用戶就看不到歷史版本,也沒法切換版本驗證問題,或在不一樣分支工做。並且,全部數據都保存在單一的服務器上,有很大的風險這個服務器會損壞,這樣就會丟失全部的數據,固然能夠按期備份。表明產品: SVN、CVS、VSS開發

3. 分佈式版本控制

全部版本信息倉庫所有同步到本地的每一個用戶,這樣就能夠在本地查看全部版本歷史,能夠離線在本地提交,只須要在聯網時push到相應的服務器或其餘用戶那裏。因爲每一個用戶那裏保存的都是全部的版本數據,只要有一個用戶的設備沒有問題就能夠恢復全部的數據,但這增長了本地存儲空間的佔用。

不會由於服務器損壞或者網絡問題,形成不能工做的狀況!

 

Git和SVN最主要的區別

SVN是集中式版本控制系統,版本庫是集中放在中央服務器的,而工做的時候,用的都是本身的電腦,因此搜尋要從中央服務器獲得最新的版本,而後工做,完成工做後,須要把本身作完的工做推送到中央服務器。集中式版本控制系統是必須聯網才能工做的,對網絡帶寬要求比較高。

Git是分佈式版本控制系統,沒有中央服務器,每一個人的電腦就是一個完整的版本庫,工做的時候不須要聯網,由於版本都是在本身電腦上。協同的方法是這樣的:好比說本身在電腦上改了文件A,其餘人也在電腦上改了文件A,這時。二者之間只需把各自的修改推送給對方,就能夠互相看到對方的修改了。

Git是目前世界上最早進的分佈式版本控制系統。

相關文章
相關標籤/搜索