介紹配置管理工具SVN的使用


配置管理CM(Configuration Mangerment)

一、配置管理工具SVN的介紹

---Subversion

---是一個開放源代碼的版本控制系統

---時下流行的SVN和GIT

每天開發人員從服務器上獲取最新的代碼——get

下班時提交代碼數據至服務器——commit

優點:方便大家共享資料

 

常見的一些TortoiseSVN圖標集

 

如果不使用配置管理工具的話會導致:

 

二、安裝配置管理工具SVN服務器

1、雙擊桌面上的SVN服務器安裝包

2、進入SVN服務器的安裝向導界面,點擊下一步

3、勾選“I accept the terms in the License Agreement”,點擊下一步

4、選擇第一個紅框內的“服務器和管理工具”並勾選第二個紅框內的“添加至環境變量”,點擊下一步

5、點擊“Standard Edition”(標准版)按鈕

6、進入此界面后,可自定義“服務器安裝路徑”和“版本庫安裝路徑”,端口號設置為:8443,設置好后點擊下一步

7、點擊“Install”按鈕,進行安裝操作

8、等待安裝完成

 9、不要勾選上面兩個單選框,直接點擊Finish按鈕即可

 10、進入SVN服務器安裝路徑下的bin目錄,找到svnserver.exe應用程序

**此處SVN服務器安裝完成

 

三、安裝配置管理工具SVN客戶端

1、雙擊桌面上的SVN客戶端安裝包

2、進入SVN客戶端安裝向導界面,點擊下一步

3、點擊下一步

4、可根據用戶需求自定義安裝路徑,點擊下一步

5、點擊“Install”按鈕,進行安裝操作

6、等待安裝完成

 

7、點擊“Finish”按鈕

**此處SVN客戶端安裝完成

 

四、在主機中添加文件上傳至SVN服務器中,並在客戶端中查看

1、SVN服務器和客戶端搭建完成后,鼠標在桌面/文件夾下右擊,出現如圖所示的菜單,這表明SVN服務器和客戶端都搭建完成

2、點擊開始——所有程序——VisualSVN Server Manager,啟動SVN服務器

3、進入SVN服務器界面

4、右擊Users,點擊“Create User...”,創建兩個新用戶即可

 

5、右擊Groups,點擊“Create Group...”,同樣創建兩個新組即可

6、右擊Repositorys,點擊“Create New Repository...”

7、進入下面添加版本庫向導,選擇第一個,點擊下一步即可

8、輸入版本庫名稱,點擊下一步即可

9、默認選擇第一個,點擊下一步

 

10、選擇第三個自定義權限,點擊“Custom...”按鈕

11、點擊Add按鈕,選擇需要添加權限的的用戶和組,點擊“ok”按鈕

12、對所添加的用戶和組賦予相應的權限,點擊確認鍵即可

13、設置好后,點擊create按鈕

14、進入下圖后,可以看到自定義賦予的權限,確保無誤后點擊“Finish”鍵,完成創建

 

**此處SVN服務器創建版本庫、用戶和組完成

15、此處可以看到之前所創建的版本庫test1訪問地址

16、鼠標右擊桌面/文件夾,選擇“TortoiseSVN”下的“Repo-browser”

17、輸入上面版本庫test1的訪問地址,點擊ok鍵

18、輸入之前所創建的用戶名和密碼,點擊ok鍵

19、進入SVN客戶端,可在客戶端中進行操作了

注:我們需要將登錄版本庫test1的默認用戶帳號清除,避免下次直接登錄

(1)點擊“TortoiseSVN”下的“Setings”按鈕

(2)進入設置界面,點擊“Saved Data”下的clean all按鈕,點擊確認鍵即可

(3)下次登錄時不要勾選“保存身份驗證”按鈕,避免直接登錄默認賬戶

20、接下來,我們在任意盤符位置出新建一個空文件夾zhangsan,如圖所示

21、打開文件夾,鼠標右擊選擇“SVN Checkout...”按鈕

22、進入下圖界面,上面一個紅框為test1版本庫的URL地址,下面一個紅框表示檢出的路徑,選擇好后,點擊ok鍵即可

23、輸入相應的用戶名和密碼,點擊ok鍵

24、彈出如圖所示的狀態提示信息,確認無誤后點擊ok鍵即可

25、此時會看到新建文件夾zhangsan圖標處有一個綠色的勾,表明文件夾檢出成功

26、打開該文件夾,新建一個.txt文件,如圖所示,圖標前面出現了一個問號,表明該文件無版本控制,需手動添加

 27、右擊該文件,點擊“TortoiseSVN”下“Add”增加按鈕

28、此時圖標變成了一個“加號”,如圖所示

29、雙擊打開,任意編輯一些內容,保存並關閉

30、右擊文件,點擊“SVNCommit...”按鈕,上傳該文件至服務器

31、如圖所示,紅框內可添加一些備注信息(可有可無),添加好后,點擊ok鍵

32、出現狀態提示信息,點擊ok鍵

33、同樣,出現此圖標,表示修改的文件上傳至SVN服務器成功

34、接下來,分別登錄至客戶端和服務器查看

**上傳文件至SVN服務器成功

 

五、模擬客戶端之間的資料共享

         接下來,模擬兩個用戶同時登錄到test1版本庫服務器,同時對一個文件進行操作

1、在剛才創建zhangsan文件目錄中再次創建另一個文件夾wangwu,(用上述檢出zhangsan文件夾的方式對文件夾wangwu進行檢出操作),並且用另一個帳號登錄

2、如圖所示,兩個程序員zhangsan和wangwu同時使用服務器下的文件進行操作

3、wangwu工作效率高,提前做完工作保存后,提交至服務器

4、zhangsan工作完,保存后提交至服務器

5、發現提交失敗,報錯,表明需要提前更新文件方能進行操作

6、接下來,zhangsan需要進行處理,解決沖突。右擊文件選擇“TortoiseSVN”下的“Edit conflicts”按鈕

7、進入下圖界面,右鍵選中所有的紅色字體,選擇下圖紅框內的選項(將wangwu的操作放在zhangsan的前面)

8、操作完成后,點擊界面中間的“√”,關閉頁面即可

9、再次提交,成功提交

**此處兩個重要的命令:“SVNUpdate”(更新)和“TortoiseSVN”下的“Edit conflicts”(解決沖突)

以后工作中要切記進行更新操作

1、zhangsan學聰明了,將文件夾鎖定起來進行操作,此時文件上增加了一把鎖的圖標

2、wangwu工作完后發現提交不了,得知被其他人鎖了,於是登錄到客戶端中查看鎖文件的人為:zhangsan

3、wangwu找zhangsan,讓其解鎖,wangwu好提交工作。zhangsan進行解鎖,右鍵文件夾選擇“TortoiseSVN”下的Release lock...按鈕,將文件解鎖

**鎖定文件夾命令:Get lock,解鎖的命令:Release lock

   解鎖方式有兩種:用戶主動解鎖/用戶上傳文件至服務器后可自動解鎖

1、zhangsan用戶需要更改文件名,右擊文件

 2、進入下圖界面,更改文件名,文件名變成“+”號

3、右鍵文件夾空白處(不要點擊文件名)選擇“SVNCommit...”,成功改名

**重命名命令:Rename

 1、zhangsan修改文件后,發現做錯了,想回到之前的版本。對沒有上傳的文件進行操作,右擊文件夾空白處(不要點擊文件名)選擇“TortoiseSVN”下的“Revert...”按鈕

2、選擇上一版本文件后,點擊ok鍵。成功回到上版本

注:返回的只是當前客戶端的舊版本,如果服務器與客戶端不同步,也不會直接返回並與服務器同步。

**返回剛修改前的內容命令:revert

1、zhangsan想看當前文件修改的歷史記錄。右擊文件夾空白處選擇“TortoiseSVN”下的“Show log”

**查看當前文件修改的歷史記錄命令:Show log

1、zhangsan想刪除文件。右擊文件選擇“TortoiseSVN”下的“Delete”按鈕。刪除完,右擊文件夾空白處的“SVN Commit”,顯示文件狀態為deleted

**文件刪除命令:Delete

 1、zhangsan用戶想導入文件至服務器。右鍵需要導入的文件所在文件夾下的空白處,選擇“TortoiseSVN”下的Import...

2、選擇目標版本庫的URL地址,點擊ok鍵

3、導入成功,點擊ok鍵

注:如果文件夾下只有一個文件,那么只會上傳單個文件,如果選中文件夾下有包含文件夾,會連文件夾一同上傳。

**導入命令:Import

1、zhangsan用戶想導出文件夾。右擊zhangsan文件夾下的空白處,選擇“TortoiseSVN”下的Export...

2、輸入目標版本庫的URL地址,點擊ok鍵

3、導出成功

 4、文件上面沒有綠色小勾圖標,表明該文件與服務器無關聯

 

**導出命令:Export

1、zhangsan用戶想更新版本。右擊需要更新版本的文件,選擇“TortoiseSVN”下的“Update to revision...”

2、點擊“Show log”查看版本信息

3、選擇需要返回的版本,點擊ok鍵即可

4、顯示更新版本成功

**更新版本命令:Update to revision

***

diff(比對)
選中文件右擊,有三種模式
Previous version 與以前的版本進行比對
或者
選中兩個文件右鍵diff,比對兩個文件不同的地方


relocate(重新指向服務器的地址)
搬運服務器,ip變更后使用


tags(建立分支)/merge(合並分支)
多是開發使用

 

 

六、命令模式操作

1、創建版本庫開始菜單—cmd進入dos窗口

     如圖所示,切換版本庫路徑E:\Reporsitories目錄下,輸入創建版本庫test2的命令:svnadmin create test2

2、版本庫創建完成之后,需要創建用戶、組以及配置對應的權限了

     linux系統中直接cd 到對應配置文件目錄下,采用vi命令去編輯即可,此處還是以windows系統下進行操作講解。

     如本機已創建一個Test2的倉庫:E:\Repositories\Test2,在conf文件夾下配置以下3個文件

     1)svnserve.conf:SVN服務的配置文件,將以下配置取消注釋:

          anon-access = non

          auth-access = write

          password-db = passwd

          authz-db = authz

          

 

     2)authz:存放用戶或組的權限(讀、寫),配置如下:

          

    3)passwd: 存放用戶和密碼,如增加以下用戶和密碼

          

---以上3個文件的配置信息只針對通過svn://方式去訪問時才有效,通過http://或file://方式訪問時無效。

 3、配置完成后,在cmd窗口啟動svn服務

      Svnserve -d -r E:\Repositories\test2

      -d 指服務作為一個獨立的端口監控進程

      -r 即批定要暴露的倉庫路徑     

      如本機倉庫路徑為E:\Repositories\test2,那么客戶端svn訪問時只需采用如下地址即可訪問:svn://ip/test2,E:\Repositories 就不需要展示出來。(注意,ip后面不要跟端號)

      

      

4、右擊鼠標-》tortoise SVN ->Rebo - browse

     在地址欄輸入:svn://T420-PC/Test2/,輸入authz文件中授權的用戶名和密碼登錄。
    (T420-PC 是服務器的計算機名,通常客戶端訪問時是替換成該機器IP)

     如圖所示,能成功登錄客戶端

        

     注:在本地新建一個空文件夾,通過SVN客戶端將上述倉庫checkout到該文件夾中,能成功checkout代表配置無問題了。

 

 

 

 

 

        

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

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



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