1. 程式人生 > >svn版本管理工具使用教程

svn版本管理工具使用教程

SVN使用教程

目錄

1.如何下載svn工具
2.如何安裝服務端
3.使用服務端建立版本倉庫
4.安裝TortoiseSVN
5.使用TortoiseSVN工具
6.TortoiseSVN其他操作

1.如何下載svn工具

工具要使用兩個:
服務端:Subversion
客戶端:TortoiseSVN

Subversion 官網:http://subversion.apache.org/download/   

進去之後往下找,看自己是什麼系統就選擇對應的版本即可。

TortoiseSVN 官網:https://tortoisesvn.net/  可以選擇中文,如下圖:

在這裡插入圖片描述

咱們這裡使用的是
Subversion:1.8
TortoiseSVN:1.11.0

2.如何安裝服務端

q.如何安裝

服務端: Subversion
下載好之後 Setup-Subversion-1.8.11.zip
解壓出來,Setup-Subversion-1.8.11.msi
雙擊安裝,一路next即可,如下圖:在這裡插入圖片描述

q.如何檢測安裝成功

cmd 執行:svnadmin
cmd 執行:svnserve

如下圖,即是安裝成功。
在這裡插入圖片描述

3.使用服務端建立版本倉庫

q.如何建立?   我們要記住一個專案一個倉庫原則!!!

	先建立一個空的資料夾(熱議任意地方)
	我是在D:\myFiles\svn\repository
	然後在此處開啟dos視窗(shift+右鍵快速開啟),然後執行dos命令:

svnadmin create D:/myFiles/svn/repository

結果: repository下有預設檔案如下:

在這裡插入圖片描述

q.如何修改配置
	第一步,建立好之後,在conf資料夾下:
	
	svnserve.conf
		anon-access = none  (第19行)  //表示任意使用者可以操作,不驗證使用者身份
		auth-access = write   (第20行)//寫檔案功能
		password-db = passwd  (第27行) //開啟密碼功能
		authz-db = authz  (第36行) //開啟使用者名稱功能
		
	password檔案   使用者名稱和密碼
		[users]下新增三個使用者:
		admin = 123456
		taohang= 123456
		lisi = 123456

在這裡插入圖片描述

authz檔案 每個使用者功能設定   如下圖
	[groups]下新增
	[/]
	admin= rw      
	[/th]
	taohang = rw
	lisi = r

其中
[/]表示:預設地址,之後客戶端url中要用
r:讀取檔案功能
d:寫檔案功能
rd:讀寫檔案功能

在這裡插入圖片描述

q.啟動版本倉庫  在cmd中執行
	svnserve -d -r D:/myFiles/svn/repository

執行之後,發現什麼也沒有,哈哈,恭喜你,成功打開了!
在這裡插入圖片描述

服務端到此結束了,開啟客戶端之旅吧!

4.安裝TortoiseSVN

q.如何安裝??

客戶端: TortoiseSVN
TortoiseSVN-1.11.0.28416-x64-svn-1.11.0.msi
雙擊安裝,也是沒啥操作性(這裡第二步,要把第二個選項選上,也就是點開,選擇安裝,它表示啟動命令列工具,最好裝上,最後 Show changelog 不要勾選,直接finish),安裝完之後是英文版的,可以在官網下載它的中文安裝包(LanguagePack_1.11.0.28416-x64-zh_CN.msi),也是雙擊安裝,之後進去,如下圖,就可以變成中文了:
在這裡插入圖片描述

咱們這裡使用英文版進行教學。

q.如何檢測安裝成功?
	任意資料夾內右鍵,看有沒有出現  SVN Checkout和TortoiseSVN,如下:

在這裡插入圖片描述

5.使用TortoiseSVN工具

q.如何瀏覽 程式碼版本庫?

	安裝成功之後,會出現好多軟體,然後如下:
	啟動TortoiseSVN Repository Browser(版本瀏覽器)
	
	輸入地址 svn://127.0.0.1
		這裡輸入admin  密碼:123456

	輸入地址 svn://172.20.10.2/th
	輸入使用者名稱 taohang
	輸入密碼 123456
	或者:
	輸入使用者名稱 lisi
	輸入密碼 123456

如圖所示:
在這裡插入圖片描述

q.專案第一次開發匯入到版本庫?

	Step1: 版本瀏覽器建立一個檔案(可以不用)
	Step2: 找到專案程式碼目錄, 右鍵,選擇import
	Step3: 輸入message(資訊:如:這是第一次匯入的,隨便寫),點選匯入
	注意: 以後就用匯入後的程式碼,本地的不在用了

在這裡插入圖片描述

q.新人用程式碼使用操作 checkout(檢出)

	第一次匯入版本庫之後,倉庫中就有第一版本了,別人想用就直接檢出(checkout)就行了
	
	Step1: 建立一個空資料夾,名字推薦為專案名
	Step2: 右鍵=>checkout
	Step3: 選擇目錄檢出

在這裡插入圖片描述

q.每天早上- update更新 程式碼

在這裡插入圖片描述

q.每天修改

modify修改:
	開啟想要修改的檔案直接修改,再SVN commit

在這裡插入圖片描述

add新增:
		注意: 先建立想要建立的檔案,打add標記,再SVN commit

在這裡插入圖片描述

delete刪除
		注意: 不要直接刪檔案,打delete標記

在這裡插入圖片描述

q.下班時候 - 提交 commit


6.TortoiseSVN其他操作

q.如何恢復到以前版本?
	Step1: 先show log顯示日誌
	Step2: 某個版本上點選 revert to this reversion
	Step3: 提交commit

在這裡插入圖片描述

q.匯出 export
	場景: 有人需要不帶svn控制的程式碼, 就export,(比如:老闆要檢查你的工作)

在這裡插入圖片描述

q.什麼是版本衝突?
	兩個人同時改一個檔案, 一個人改了,沒提交之前,另外一個人也改了。

就是A、B同時拿到檔案file1(這裡相當於第一版),A修改了裡面的內容,B也修改了裡面的內容,A這時候修改完提交了,對於檔案file1來說,A提交的相當於第二版,這時候B也改完了,也想提交,但是B當時拿到手的並不是第二版,而是第一版file1,他是相對於第一版來改的,這就會發生版本衝突。

	情況1:
		file1
			A改1
			A提交1
			
	這裡:A修改完,B才拿到手,B拿到手之前更新了,也就是拿到的是最新版本。
			
			B更新
			B改2
			B提交2
			
			A改3
			A提交3

	情況2:就是我上面說的
		server 		A    		B  
		code1		code1 		code1
					code1.2
		code1.2		提交code1.2  code1(還是)
								code1.3
								提交???
								
								
								結果: code123


	總結: 就是說你修改的程式碼,不是伺服器是最新的
	
		update 之後
		(中間-別人給改了)
		再提交(commit)就會出現:

錯誤: 檔案 “/1802/tianya/index.html” 已經過時

在這裡插入圖片描述

q.那如何解決版本衝突呢?
	若出現   檔案 “/1802/tianya/index.html” 已經過時,訊息時,
	
	Step1: 出現上述檔案彈出框之後,點選OK,會出現一個彈框,
	Command failed - Update needed   你點選下面的update,這時候
	
		一個檔案變4個檔案, r100(版本) r101(版本)  .mine的檔案

在這裡插入圖片描述

Step2: 先看最後版本r101
	把自己的改動mine,放到r101
	也就是把你修改的和別人修改的合併在一起,再提交,
	若果你不知道別人修改了哪個地方,那就右鍵這個檔案(這裡是index.html),如下圖:

在這裡插入圖片描述

點進去之後,黃色部分就是修改的地方,把兩個檔案作比較:

在這裡插入圖片描述

Step3: 修改好之後,右鍵執行 resolve, 這個操作表示我已經衝突解決了,可以提交了。

在這裡插入圖片描述

Step4: 最後右鍵提交修改commit

SVN使用到此結束了,應對一般工作中使用足以,想要了解更多,請自行百度吧。