版本控制簡介和工具

1、知識點linux

> 版本控制是一種記錄一個或若干文件內容變化,以便未來查閱特定版本修訂狀況的系統git

> 實際上能夠對任何類型的文件進行版本控制。數據庫

1.1 特色windows

  • 每次修改後進行提交,這樣就能夠在須要的時候將某個文件回溯到以前的狀態。
  • 能夠比較文件的變化細節,查出最後是誰修改了哪些地方,從而找出致使怪異問題的緣由。
  • 就算你胡亂地把整個項目的文件改得面目全非,你照樣能夠輕鬆恢復到原來的樣子。

2、版本控制方案服務器

2.1 本地版本控制分佈式

  • 大多都是採用某種簡單的數據庫來記錄文件的歷次更新差別。
  • 其中最流行的一種叫RCS,現今許多計算機系統上都還看獲得它的蹤跡。 甚至在流行的 Mac OS X 系統上安裝了開發者工具包以後,也可使用 rcs 命令。

本地版本控制

2.2 集中化的版本控制svn

  • 解決不一樣系統上的開發者協同工做。
  • 管理員能夠輕鬆掌控每一個開發者的權限。
  • 表明軟件:CVSSubversionPerforce
  • 多年以來,這已成爲版本控制系統的標準作法。

事分兩面,有好有壞。 這麼作最顯而易見的缺點是中央服務器的單點故障。若是宕機一小時,那麼在這一小時內,誰都沒法提交更新,也就沒法協同工做。 若是中心數據庫所在的磁盤發生損壞,又沒有作恰當備份,毫無疑問你將丟失全部數據——包括項目的整個變動歷史,只剩下人們在各自機器上保留的單獨快照。工具

集中化版本控制

2.3 分佈式版本控制網站

  • 客戶端並不僅提取最新版本的文件快照,而是把代碼倉庫完整地鏡像下來。
  • 每一次的克隆操做,實際上都是一次對代碼倉庫的完整備份。
  • 任何一處協同工做用的服務器發生故障,過後均可以用任何一個鏡像出來的本地倉庫恢復。
  • 表明軟件:GitMercurialBazaar 以及 Darcs

許多這類系統均可以指定和若干不一樣的遠端代碼倉庫進行交互。籍此,你就能夠在同一個項目中,分別和不一樣工做小組的人相互協做。 你能夠根據須要設定不一樣的協做流程,好比層次模型式的工做流。spa

分佈式版本控制

3、流行的版本控制軟件

3.1 Git

> Git是開源的分佈式版本控制系統。

> Git 是 Linus Torvalds 爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。

> Git是用C語言開發的。

在windows上的安裝

Git for Windows - msysGit

TortoiseGit - 右鍵菜單式簡易操做

在Linux上的安裝

> Git 官方網站上有在各類 Unix 風格的系統上安裝步驟,網址爲 http://git-scm.com/download/linux

在Mac上的安裝

> 最簡單的方法是安裝 Xcode Command Line Tools。

Mavericks (10.9) 或更高版本的系統中,在 Terminal 裏嘗試首次運行 git 命令便可。

官方維護的 OSX Git 安裝程序

3.2 SVN

> SVN是一個開放源代碼的版本控制系統。

> SVN採用了分支管理系統,它的設計目標就是取代CVS。

> SVN能夠針對各個目錄分別進行權限控制。

在Windows上的安裝

服務端 - VisualSVN Server

客戶端 - TortoiseSVN

VS插件 - VisualSVN for Visual Studio X

4、 參考資料

  • Git-Book - The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here.
相關文章
相關標籤/搜索