一、什麼是版本控制,說出常見的版本控制系統及其區別
版本控制它是一種軟件工程籍以在開發的過程當中,確保由不一樣人所編輯的同一檔案都獲得更新,它透過文檔控制記錄程序各個模塊的改動,
併爲每次改動編上序號,而且編輯錯誤以後還能夠回溯到之前的版本
一、VCS 只能進行本地版本控制
二、VSS支持目錄、CVS不支持目錄和原子
三、ClearCase、SVN、Perforce、TFS
四、Mercurial(水銀/水星)沒有、Git快java
二、SVN與Git孰優孰劣,爲何
Git的優缺點
對程序源代碼進行差別化的版本管理,代碼庫佔極少的空間。易於代碼的分支化管理。不支持中文,圖形界面支持差,使用難度大。不易推廣。
SVN 的優缺點
SVN對中文支持好,操做簡單,使用沒有難度,美工人員,產品人員,測試人員,實施人員均可輕鬆上手。使用界面統一,功能完善,操做方便。
SVN 和 Git 哪一個更適用於項目管理?
首先說一下,我是一個研發團隊的項目經理,SVN和Git我都用過,SVN更適用於項目管理, Git僅適用於代碼管理。
一個研發隊伍的成員正常包括:需求分析、設計、美工、程序員、測試、實施、運維,每一個成員在工做中都有產出物, 包括了文檔、設計代碼、程序代碼,這些都須要按項目集中進行管理的。SVN能清楚的按目錄進行分類管理, 使項目組的管理處於有序高效的狀態。程序員
SVN大都採用圖形界面操做,直觀,上手快。
GIT是分佈式的,SVN不是
GIT把內容按元數據方式存儲,而SVN是按文件
GIT分支和SVN的分支不一樣
GIT沒有一個全局的版本號,而SVN有
GIT的內容完整性要優於SVN
SVN的特色是簡單,只是須要一個放代碼的地方時用是OK的。apache
Git的特色版本控制能夠不依賴網絡作任何事情,對分支和合並有更好的支持(固然這是開發者最關心的地方),不過想各位能更好使用它,須要花點時間嘗試下服務器
1、何謂版本控制
它是一種軟件工程籍以在開發的過程當中,確保由不一樣人所編輯的同一檔案都獲得更新,它透過文檔控制記錄程序各個模塊的改動,併爲每次改動編上序號,而且編輯錯誤以後還能夠回溯到之前的版本
2、爲什麼要使用版本控制系統
一、你是否遇到以下煩惱?
1.不當心刪除了本身的項目文檔和源代碼文件
2.不敢修改本身的源代碼文件
3.不知道如何把本身項目文檔傳遞給他人
4.不知道如何把本身的項目分發
5.不斷的拷貝和備份
6.文檔和源代碼管理混亂,沒法查找
二、廣義的來看待版本控制:平安保險銷控會(非軟件開發範疇)
3、可供咱們選擇的版本控制系統
一、VCS
二、VSS、CVS
三、ClearCase、SVN、Perforce、TFS
四、Mercurial(水銀/水星)、Git
4、比較上面的版本控制系統(版本控制發展歷史)
一、本地版本控制
二、集中版本控制
三、分佈式版本控制
5、咱們喜歡採用的版本控制系統
一、SVN
二、Git
6、SVN
一、SVN的歷史:2000年2月,CVS做者之一Karl Fogel,CollabNet公司
二、SVN的架構
1.SVN網絡示意圖
2.SVN的部署結構
(1)單機結構
(2)本地文件系統
(3)網絡結構
(4)C/S結構
(5)B/S結構
3.SVN的存儲結構
(1)SVN倉庫(Repository):保存各個版本的軟件資源、記錄版本更新歷史、維護版本分支……
(2)本地的工做目錄(Working Directory):開發者進行工做的地方
4.C/S結構下的存儲示意圖
三、軟件
1.Apache官網地址:http://subversion.apache.org
2.TortoiseSVN官網地址:http://tortoisesvn.tigris.org
3.Eclipse插件官網地址:http://subclipse.tigris.org/update_1.12.x
四、SVN經常使用實操
1.Checkout檢出
2.添加文件或文件夾
3.Update更新
4.刪除
5.把一個項目文件夾發佈到SVN服務器上
6.Export導出
7.歷史版本
8.創建分支
9.衝突
10.備份
11.鎖定
12.忽略:
(1)SVN 管理Android項目中eclipse的設置和注意事項
1)如下3點不該該歸入SVN版本控制範圍:
# bin目錄。編譯後生成的目標文件
# gen目錄。自動生成的R.java
尤爲是bin和gen目錄,必定要列入SVN忽略列表中!!切記。
2)而後最後一點就是在Eclipse中設置build path讓其忽略.svn文件夾
菜單 - Project - Properties - Java Build Path - Source - xxx/src - Excluded,雙擊或點右邊的編輯,在Exclusion patterns中加入"**/.svn/**",讓Eclipse忽略.svn目錄便可。
3)最後一點就是每次上傳最好清空bin和gen目錄下全部文件
Before you decided to upload your changes to the server you should empty the bin and gen folders
(2)設置SVN忽略文件和目錄(文件夾):http://blog.csdn.net/hemingwang0902/article/details/6904205
五、SVN工做的一天網絡