SVN的使用


一、如何在本機下操縱SVN 

使用步驟

1、下載svn(TortoiseSVN),測試svn是否成功:

svn --version

2、創建本地臨時文件目錄,這里是模擬服務端的倉庫,代碼提交地方,也是代碼拿取的地方,假如項目做的事OA系統,就將代碼放入OA中

3、利用svn在臨時文件目錄中創建中央倉庫

svnadmin create D:\Temp\OA

此時在OA目錄中會生成一些文件目錄

4、啟動服務端程序

D:\Temp\OA>svnserve -r -d D:\Temp\OA     #-r表示版本根目錄   -d表示后台執行

5、注冊windows的svn服務

sc create MySVNService binpath= "D:\SVN\bin\svnserve.exe --service -r D:\Temp\" start= auto depend= Tcpip

並檢驗服務是否啟動:

6、此時客戶端可以訪問服務端(注意:此時是另外開啟一個cmd窗口),這里是復制主工作空間

先創建一個文件夾,用戶開發者操作空間,這里是代碼提交和拿取的工作空間,如D:/TempOA/MyOA/OA,該OA文件夾中擁有helloword.txt文件,用於模仿即將提交的代碼

D:\TempOP\MyOA>svn checkout svn://localhost/OA

7、提交文件

D:\TempOP\MyOA\OA>svn commit helloword.txt

此時會報錯,是因為說明該文件沒有納入版本控制,不可以提交到服務器端。

8、納入版本控制

D:\TempOP\MyOA\OA>svn add helloword.txt      #A表示剛剛加入倉庫

9、提交代碼

此時報錯是因為提交代碼時得注明一些提交的信息,如提交版本、提交人等。。

D:\TempOP\MyOA\OA>svn commit -m "first commit" helloword.txt

此時還會報錯,是因為沒有權限操作OA,得到OA中設置訪問權限

打開服務端文件夾D:/Temp/OA中的svnserve.conf文件夾,打開# anon-access = read注釋,並將read改為write

此時通過cmd窗口再次提交代碼,代碼可以提交成功

 10、檢驗是否提交成功

創建一個新文件夾用於模擬另外一個開發者Temp2,從服務端復制倉庫

此時Temp2中會生成OA文件夾,其目錄中有helloword.txt文件,說明提交成功

11、改變版本提交

向helloword.txt文件夾中新添一些數據,並提交代碼

D:\Temp2>cd OA
D:\Temp2\OA>svn commit -m "jiaxianseng commit" helloword.txt

此時可以看出提交的版本變成了2

12、更新版本庫

此時開發者一還是原來的版本,更新需要update命令

D:\cd TempOA
D:\TempOA>cd MyOA
D:\TempOA\MyOA>cd OA
D:\TempOA\MyOA\OA>svn update helloword.txt

二、SVN在myeclipes中的使用

1、前提本機中安裝了svn客戶端

2、下載myeclipes的svn插件:下載插件

3、將下載好的壓縮包解壓,並將其中的features文件夾和plugins文件夾復制到myeclipes安裝目錄中的dropins目錄中

4、啟動myeclipes

5、新建項目,右鍵點擊項目,選擇Team中share project,選中SVN

6、選擇創建新的資源位置,並指定URL

7、此時會提示是否進入同步界面,選擇yes,此時可以提交代碼,可以指定提交部分,也可以整個項目一起提交,右鍵點擊項目,選擇提交,並寫上備注

8、其他開發者如果想要拿取代碼,直接采用import->SVN

相關注意項:

  SVN有幾個圖表需要注意:

       1) 金色圓筒表示版本和倉庫保持一致

       2) 黑色星號表示在原有文件中新增內容但是未提交,

  3) 問號表示新增類但是未提交,未參與版本比對

           

三、關於SVN沖突與解決

     1、什么是SVN沖突

     SVN沖突是指兩個開發者更改同一個地方(如同一條語句),后來提交的人會顯示SVN沖突,表示提交已經過時

  

  2、關於SVN沖突的解決

   1) 若出現以上情況,先更新代碼,此時會出現以下內容,顯示在兩者版本不同的地方

  

       2) 項目下也會新增歷史版本,方便開發者進行對比

    3) 右鍵點擊發生沖突的文件,點擊Team->編輯沖突,此時會出現兩個版本不一致的地方,只要點擊保存,默認認為你沖突已經解決

  4) 沖突解決后,有沖突的類會變成圖下的形式

       

    右鍵點擊原來沖突的類,選擇Team->標記為解決,此時項目下的歷史版本就會自動刪除,此時提交不會出現錯誤

    

四、關於SVN設置權限

   SVN設置權限是基於對代碼的安全性操作,防止非權限用戶操作代碼

     1、編輯svnserve.conf文件

  1) 之前是采用的匿名訪問,如果要設置權限,首先得開啟授權訪問代碼

# anon-access = write     #匿名訪問
  auth-access = write     #授權訪問

  2) 開啟password-db,表示用哪個文件來保存用戶名密碼信息

 password-db = passwd

  3) 開啟authz-db ,表示用authz文件來保存授權信息

# authz-db = authz

  2、編輯passwd文件,該文件是用來新增授權用戶名及其密碼

     這里新增tom和jerry用戶

tom = 123456
jerry = 123456
ceshi = 123456

  3、編輯

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

kaifa = tom,jerry #新增用戶組      


# [/foo/bar]
# harry = rw
# &joe = r
# * =

[/]                         #表示在跟路徑下
@kaifa = rw          #開發組有讀和寫的權限
ceshi = r           #測試只有讀權限
* =               #過濾其他用戶,沒有讀寫權限

  4、此時代碼的更新和提交都需要經過用戶驗證

       

五、關於SVN的“時光機”

  SVN時光機是指查看獲得歷史提交的版本

  1、想要獲得歷史版本,首先得將配置文件svnserve.conf文件中的匿名用戶設置為none

anon-access = none    
auth-access = write

  2、此時右鍵點擊項目文件,選擇team->顯示資源歷史記錄,便可查看到歷史的版本

 

  

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM