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