1、知識點linux
> 版本控制是一種記錄一個或若干文件內容變化,以便未來查閱特定版本修訂狀況的系統git
> 實際上能夠對任何類型的文件進行版本控制。數據庫
1.1 特色windows
- 每次修改後進行提交,這樣就能夠在須要的時候將某個文件回溯到以前的狀態。
- 能夠比較文件的變化細節,查出最後是誰修改了哪些地方,從而找出致使怪異問題的緣由。
- 就算你胡亂地把整個項目的文件改得面目全非,你照樣能夠輕鬆恢復到原來的樣子。
2、版本控制方案服務器
2.1 本地版本控制分佈式
- 大多都是採用某種簡單的數據庫來記錄文件的歷次更新差別。
- 其中最流行的一種叫RCS,現今許多計算機系統上都還看獲得它的蹤跡。 甚至在流行的 Mac OS X 系統上安裝了開發者工具包以後,也可使用
rcs
命令。
2.2 集中化的版本控制svn
- 解決不一樣系統上的開發者協同工做。
- 管理員能夠輕鬆掌控每一個開發者的權限。
- 表明軟件:CVS、Subversion 、Perforce。
- 多年以來,這已成爲版本控制系統的標準作法。
事分兩面,有好有壞。 這麼作最顯而易見的缺點是中央服務器的單點故障。若是宕機一小時,那麼在這一小時內,誰都沒法提交更新,也就沒法協同工做。 若是中心數據庫所在的磁盤發生損壞,又沒有作恰當備份,毫無疑問你將丟失全部數據——包括項目的整個變動歷史,只剩下人們在各自機器上保留的單獨快照。工具
2.3 分佈式版本控制網站
- 客戶端並不僅提取最新版本的文件快照,而是把代碼倉庫完整地鏡像下來。
- 每一次的克隆操做,實際上都是一次對代碼倉庫的完整備份。
- 任何一處協同工做用的服務器發生故障,過後均可以用任何一個鏡像出來的本地倉庫恢復。
- 表明軟件:Git、Mercurial、Bazaar 以及 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.