目錄
- 1.SVN是什么
- 2.Svn服務端和客戶端獲取方式
- 3.svn工作流程和架構圖;
- 4.操作svn服務器的2種方式
- 5.svn服務器目錄結構、用戶和權限;
- 6.svn常用操作:
- 7.其他操作:
1.SVN是什么
svn是Subversion的簡稱,是一個開源的代碼版本控制系統,svn就是用于多人共同開發同一個項目,達到資源共用目的工具。
版本控制是什么?
版本控制(Revision control)是指對軟件開發過程中各種程序代碼、配置文件及說明文檔等文件變更的管理??捎涗浢總€版本的信息,方便問題追蹤。同時版本控制還支持并行開發,可有效的提高開發效率。
為什么要使用SVN?
1.項目備份方便,節省硬盤空間;
2.記錄每個版本,方便追溯歷史紀錄。
3.多人協作開發,共享數據;
4.細節化的權限控制,便于管理員掌控項目整體。
2.Svn服務端和客戶端獲取方式
服務端:https://www.visualsvn.com/server/download/




客戶端:https://tortoisesvn.net/downloads.html


安裝完后,在任意一個文件夾下面右鍵,如果出現下面這個,就說明安裝成功了

3.svn工作流程和架構圖;
3.1 svn工作方式:

(svn工作流程圖)
3.2 svn架構圖:

(svn架構圖)
4.操作svn服務器的2種方式
4.1 command-line 命令行方式;
4.2 GUI-client圖形界面方式;
4.2.1 svn服務連接方式:
(1) internet網絡連接:
apache服務器;
svn服務器;
(2) local 本地連接:
4.2.2 svn數據存儲方式:
文件方式:FSFS(推薦使用)
數據庫方式:BerkeleyDB(伯克利DB)
5.svn服務器目錄結構、用戶和權限;
5.1 目錄結構:
Repositories 倉庫:存放被svn管理的項目文件,可以存放源碼,文檔等;
Users 用戶:創建和編輯用戶;
Groups 權限組:創建和編輯用戶組;
打開VisualAVN Server步驟:在SVN服務器的安裝目錄下進入bin文件夾,雙擊VisualAVN Server.msc即可彈出VisualAVN Server窗口。



5.2 創建倉庫:
標準文件夾結構:
branches 分支:如果需要測試新技術,或者大范圍修改,將主干代碼拷貝到分支中進行,測試無誤后可以合并到主干中;
tags 發布:發布版本要放到tags中;
trunk 主干:主要開發目錄;jia
創建倉庫,命名為helloSvn:






創建項目,命名為dev:



5.3 創建用戶:每個開發人員都需要擁有自己的svn賬號;
右鍵【Users】-【Create User...】,比如創建三個用戶siki,lain,lijiang




5.4 創建組:為每個部門配置不同的權限,便于管理;



5.5 分配權限:在倉庫或者目錄中為用戶/組分配權限;
右鍵【Group】-【Create Group...】,比如創建2個組admin,javaEE-Team



同理:創建組javaEE-Team:


此時,就可以給項目helloSVN分配權限了,右鍵【helloSVN】-



6.svn常用操作:
6.1 checkout 檢出:
初次下載 - 第一次連接svn服務器時候需要下載對應倉庫的數據(如果倉庫中有數據的話);
比如現在讓文件夾siki連接SVN服務器,方式如下




然后siki文件夾下面就有文件了


6.2 add 新增:
新增數據到svn服務器;
比如在trunk文件夾下面新建一個Item.java文件,將此文件添加到SVN服務器:





現在再commit到SVN服務器:


提交成功顯示如下界面:

現在我們來到SVN服務器,按F5刷新,可以看到trunk目錄下有了Item.java文件了!

6.3 update 更新:
更新數據 - 檢查svn服務器中的數據是否與本地的數據一致,如果不一致就下載改變/新增部分,同時不會刪除本地數據;
比如在另一個lijaing文件夾下面更新SVN服務器的數據,同樣要先在lijiang文件夾里面右鍵【SVN checkout...】







現在我們去siki/dev/trunk目錄中打開Item.java,會發現還沒有name屬性

此時我們右鍵【update】更新一下就可以了,就會有name屬性了


6.4 delete 刪除:
刪除svn的數據(需要搭配commit命令);
比如刪除siki/dev/trunk目錄下的Item.java文件,選中【Item.java】-【TortoiseSVN】-【Delete】,然后還沒完,一定要記得commit?。?!


6.5 revert 回滾:
將指定版本的代碼回滾到本地,如要提交到服務器需要搭配commit命令;



然后可以看到Item.java已經被回滾到文件夾里了,同樣此時一定要記得commit?。?!

commit提交:


6.6 代碼沖突:
在多人同時開發一個類,提交的時候容易出現代碼沖突,也可以理解為版本沖突;

比如siki和lijiang同時修改并更新Item.java文件,siki給Item.java添加一個price屬性,lijiang給Item.java添加一個num屬性。siki先提交,然后lijiang再提交時就會提示是否update,選擇確定update,然后lijiang/dev/trunk里面就會有四個文件,
siki給Item.java增加price屬性:



lijiang給Item.java增加num屬性:











7.其他操作:
7.1 按照版本檢出;
右鍵【TortoiseSVN】-【show log】

選擇保存地址即可

7.2 賬號保存與注銷;
在需要注銷賬號的文件夾里面右鍵【TortoiseSVN】-【settings】-【Saved Data】-【Clear all】,


7.3 代碼對比工具;
可以高亮顯示不同版本文件的不同之處


7.4 下載指定版本號的文件;
比如新來一個隊友,要使用某個文件的舊版本

到此這篇關于SVN安裝及基本操作(圖文教程)的文章就介紹到這了,更多相關SVN安裝內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!