什麼是SVN?SVN的簡介安裝和使用
目錄
1.SVN
1.1什麼是SVN
SVN是Subversion的簡稱,是一個開放原始碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。網際網路上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個專案,共用資源的目的。
1.2SVN的作用
- 如果沒有SVN團隊開發會出現什麼問題?
使用SVN以後以上問題都能得到解決。
1.3常見的版本控制工具
- VSS:微軟的,主要應用在微軟的平臺。
- CVS:早起的版本控制工具。
- SVN:取代CVS
- GIT:和SVN差不多,比較火的版本控制工具。
1.4SVN的使用
1.4.1SVN基本使用原理
1.4.2SVN使用模式
- 複製à修改à合併
- 鎖定à修改à解鎖
1.4.3SVN工作方式
1.5SVN的伺服器安裝
1.5.1下載:
官方網站:http://subversion.apache.org/
下載:http://subversion.apache.org/download.cgi
官方提供的服務端安裝包,安裝後需要通過命令列進行操作,適用於專業噢配置管理員使用。
1.5.2圖形化服務端
圖形化操作介面的svn伺服器,適用於普通軟體開發人員。
下載地址:https://www.visualsvn.com/downloads/
1.5.3安裝圖形化服務端
1.5.4建立倉庫
svn服務端建立完成後,需要建立倉庫,倉庫中存放版本控制檔案。
開啟VisualSVNservermanager:
選擇檔案儲存的方式:
建立一個空的倉庫:
設定使用者訪問倉庫的許可權:
倉庫建立成功:
倉庫地址為https://ip地址/svn/倉庫名稱
1.5.4建立工程目錄
倉庫中存放專案程式碼,文件,需要建立一個工程目錄。
建立成功。
1.6SVN的客戶端安裝
1.6.1svn客戶端型別
Svn客戶端通過網路訪問svn服務端,提交檔案,查詢檔案,可以通過以下客戶端型別訪問svn服務端:
- 使用subversion提供的客戶端命令:使用方式在命令列,輸入命令操作。
- 使用Torotise圖形介面(推薦)
- 使用Ecliplse等開發工具外掛操作(推薦)
1.6.2下載安裝TortoiseSvn
TortoiseSVN是subversion版本控制系的一個免費開源客戶端,不需要付費。
下載:http://tortoisesvn.net/downloads.html 提供32位和64位不同版本,安裝tortoisesvn會修改客戶端電腦右鍵選單,安裝後需要重啟電腦。
1.6.3瀏覽倉庫
使用TortoiseSvn瀏覽倉庫內容:
1.7許可權管理
1.7.1認證授權機制
1.7.2建立使用者
檢視建立的使用者:
修改使用者:
1.7.3建立組
檢視建立的組:
修改組:
1.8分配許可權
給倉庫下的每個目錄分配許可權對訪問進行控制。
1.8.1刪除預設許可權
刪除系統安裝後預設許可權:
1.8.2開發人員擁有讀寫許可權
進入許可權分配介面:
新增組或使用者:
分配許可權:繼承父目錄許可權,不可訪問,讀許可權,讀寫許可權。
客戶端訪問時輸入賬號:
登陸測試是否有讀/寫許可權:
1.8.3測試人員擁有讀許可權
登陸測試是否有讀/寫許可權:
1.8.4清除認證快取
有以下幾種情況,需要清除認證快取:
- 本地使用多個賬號登陸,每次輸入的賬號和密碼都不一樣。
- 賬號密碼修改之後。(建議清理)
1.9TortoiseSvn的基本使用
1.9.1瀏覽倉庫
Repo-browser:瀏覽倉庫中的資源資訊
1.9.2匯入匯出
- Export:匯出專案,和checkout的區別,checkout檢出檔案後,含有.svn隱藏資料夾,會和svn倉庫互動,export匯出,沒有.svn隱藏資料夾。
- Import將本地資源匯入到svn伺服器。
1.10修改提交
1.10.1CheckOut
檢出專案,複製專案的副本到本地。在要檢出的目錄中右鍵:
1.10.2add
在檢出的目錄中新增檔案:
圖示?說明是一個新檔案:這是一個新檔案。
- Add to ignore list:新增到忽略列表。(標記下、該檔案不需要版本控制)
- Add:標記這個檔案新增到伺服器。
已經標記該檔案要新增到版本庫。
1.10.3Commit
當檢出的目錄或子目錄中的內容有修改,目錄圖示將變為:。
提交Commit,將本地的修改提交至svn伺服器:在檢出目錄或要提交修改的目錄點選滑鼠右鍵:
提交後目錄中的內容與svn服務端內容同步,目錄圖示變為:。
1.10.4Update
更新倉庫的檔案到本地:在檢出目錄或子目錄或檔案上滑鼠單擊右鍵:
1.10.5更新到最新版本
1.10.6更新到指定版本
1.10.7Delete
Delete:刪除版本庫檔案。
標記本地檔案已經刪除,需要提交伺服器。
1.10.8恢復歷史版本
在檢出的目錄或子目錄,所有操作都會記錄操作日誌,提交前可以回滾,在要回滾的檢出目錄或子目錄滑鼠單擊右鍵:
1.10.9衝突處理
兩個客戶端同時修改通一個檔案,改動同一個位置,發生衝突情況。如果當commit時遇到檔案已經過時,說明另外一個人可能改動過,這時需要先update。
- db.properties將本地檔案和伺服器檔案合併到一起的檔案。(不要直接看)
- db.properties.mine我本地自己修改後的檔案。
- db.properties.r18我修改之前的檔案。
- db.properties.r19別人修改後的檔案。
手動合併後,需要將編輯後的衝突檔案,標記為已解決,再Commit。
1.11eclipse的svn外掛使用
1.11.1svn外掛的安裝
下載Subversion的svn的eclipse外掛:http://subclipse.tigris.org/
下載:site-1.10,放在D盤
進入ecliplse
1.11.2svn將專案共享到SVN
新建SVN倉庫連結,切換到”svn資源庫”檢視
共享專案到svn
1.11.3從SVN檢出
1.11.4解決衝突
手動合併後,標記為解決:
https://blog.csdn.net/qq_23853743/article/details/84110054(SVN外掛下載)