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




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


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

3.svn工作流程和架構(gòu)圖;
3.1 svn工作方式:

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

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



5.2 創(chuàng)建倉庫:
標(biāo)準(zhǔn)文件夾結(jié)構(gòu):
branches 分支:如果需要測試新技術(shù),或者大范圍修改,將主干代碼拷貝到分支中進行,測試無誤后可以合并到主干中;
tags 發(fā)布:發(fā)布版本要放到tags中;
trunk 主干:主要開發(fā)目錄;jia
創(chuàng)建倉庫,命名為helloSvn:






創(chuàng)建項目,命名為dev:



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




5.4 創(chuàng)建組:為每個部門配置不同的權(quán)限,便于管理;



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



同理:創(chuàng)建組javaEE-Team:


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



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




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


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





現(xiàn)在再commit到SVN服務(wù)器:


提交成功顯示如下界面:

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

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







現(xiàn)在我們?nèi)iki/dev/trunk目錄中打開Item.java,會發(fā)現(xiàn)還沒有name屬性

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


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


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



然后可以看到Item.java已經(jīng)被回滾到文件夾里了,同樣此時一定要記得commit?。。?/p>

commit提交:


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

比如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 下載指定版本號的文件;
比如新來一個隊友,要使用某個文件的舊版本

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