天天看點

【軟體工程】6.svn的使用

上一次我們成功安裝了SVN,并注冊了服務。我們的重頭戲是使用TortoiseSVN這個用戶端工具。它可以做好多事情:增删改查,版本校驗、沖突解決等全部都可以解決。

Tortoise介紹:

是SVN的一個圖形化界面用戶端工具,Tortoise安裝(1.7+選擇安裝指令行端可不再需要安裝SVN伺服器端,因自帶有)

完畢後,繼承在滑鼠右鍵菜單中(類似window的一個插件)

【軟體工程】6.svn的使用

既然要用用戶端,首先要有一個服務端的代碼提供給用戶端進行操作的。我們需要送出一個代碼給SVN服務端(即背景)。

首先我們要給伺服器端設定一下權限。

簡單介紹一下版本庫各個檔案夾的作用:

【軟體工程】6.svn的使用

我們打開conf,來配置服務端的檔案資訊:

【軟體工程】6.svn的使用

我們打開svnserve.conf修改其中的資訊(漢字注釋是為了說明,應删去):

【軟體工程】6.svn的使用

其中的賬号密碼就儲存在與svnserve.conf同一檔案夾的passwd檔案中:

【軟體工程】6.svn的使用

我們打開passwd,向其中添加幾個賬号密碼:

【軟體工程】6.svn的使用

下面我們開啟svn伺服器:

在控制台輸入svnserve -d -r D:\SVNServer\2015_SVN_1

或者直接建立該服務然後輕按兩下啟動(一定要用管理者身份運作):

【軟體工程】6.svn的使用

伺服器運作成功:

【軟體工程】6.svn的使用

現在要做的就是向伺服器中加代碼:

步驟1

【軟體工程】6.svn的使用

結果:

【軟體工程】6.svn的使用

我們在localhost中加入一個檔案:

【軟體工程】6.svn的使用

我們要把這個檔案加入到代碼庫中去,首先在檔案上點選滑鼠右鍵,彈出菜單,選擇SVN用戶端TortoiseSVN,選擇添加Add:

【軟體工程】6.svn的使用

然後退出來發現桌面的localhost檔案夾的圖示已經變成這樣:

【軟體工程】6.svn的使用

就是說已經有檔案添加到代碼庫中去了,但是還沒有送出到伺服器進行同步。

然後我們将本地代碼送出到伺服器:

【軟體工程】6.svn的使用

添加注釋後送出至伺服器:

【軟體工程】6.svn的使用

輸入我們之前預先設定的賬号密碼:

【軟體工程】6.svn的使用

送出成功:

【軟體工程】6.svn的使用

送出成功之後我們的檔案變成帶綠色對勾的檔案,說明本地檔案和伺服器端檔案代碼内容是比對、沒有改動的:

【軟體工程】6.svn的使用

我們現在看一下版本庫是什麼情況:

【軟體工程】6.svn的使用

之後就可以看到伺服器端的版本庫中的内容

【軟體工程】6.svn的使用

(預設url是svn的,也可以使用http協定)

我們想在伺服器版本庫檢視檔案是誰添加的,可以這樣做:

【軟體工程】6.svn的使用
【軟體工程】6.svn的使用

可以清楚的看到是誰在什麼時間添加了什麼樣的檔案.

我們修改一下本地的工作進度檔案:

【軟體工程】6.svn的使用

儲存後發現文檔的圖示變成感歎号,說明和伺服器檔案内容不一緻了。

我們再送出一次(用第二個人的賬号模拟),發現送出成功之後版本号變成了2:

【軟體工程】6.svn的使用

然後檔案圖示就變成綠色鈎鈎了,說明和伺服器同步了。

如果伺服器端版本庫中的檔案被删除或者其它情況,我們每次開機之後都要習慣性的在本地代碼庫中更新一下(即同步本地版本庫),看看有沒有變化:

【軟體工程】6.svn的使用

然後我們談一下同步的問題:

我們再checkout一個本地版本庫,然後更改一下名字,模拟第二個人的本地代碼庫:

【軟體工程】6.svn的使用

然後兩個人的進度和内容不一樣:

【軟體工程】6.svn的使用

我們首先送出localhost的檔案,然後再送出localhost2的檔案,之後我們看看會不會出問題:

發現我們送出localhost2的檔案的時候,提示我們文檔過期了,需要我們更新文檔之後在送出:

【軟體工程】6.svn的使用

于是我們更新一下本地版本庫:

【軟體工程】6.svn的使用

然後可以看到我們本地的和服務端的檔案的差別:

【軟體工程】6.svn的使用

因為我們和版本庫的資料不一樣(同一行的資料不一樣,不是新增資料),我們還無法送出資料,是以我們要解決本地版本庫與伺服器版本庫的資料沖突問題:

【軟體工程】6.svn的使用

我們可以看到這裡的不同資料,需要你修改成同步資料:

【軟體工程】6.svn的使用

我們根據語句塊選擇需要進行的操作:

【軟體工程】6.svn的使用

我們讓修複bug在前,完成投訴子產品在後,最後才測試:

【軟體工程】6.svn的使用

然後點選綠色對号完成沖突的解決。

發現我們的localhost2本地版本庫的檔案已經變成這樣:

【軟體工程】6.svn的使用

然後我們再次送出之後發現送出成功:

【軟體工程】6.svn的使用

然後我們去伺服器版本庫中去看,發現最終送出的版本是最終整合版:

【軟體工程】6.svn的使用

如果兩個用戶端送出的檔案不在同一行資料不同的情況下,svn會自動進行合并。

如果我們修改了檔案而且儲存退出了之後,我們想恢複到修改之前的情況,可以點選復原來解決:

【軟體工程】6.svn的使用

當然,我們也可以将檔案跳至任意一個版本的檔案:

【軟體工程】6.svn的使用
【軟體工程】6.svn的使用

是以想取得任意一個版本的代碼都是可以的。

導入新的檔案,可以将檔案放入一個檔案夾中,右鍵點選檔案夾就可以上傳檔案夾中的檔案:

【軟體工程】6.svn的使用
【軟體工程】6.svn的使用

打開伺服器版本庫發現我們的檔案已經導入:

【軟體工程】6.svn的使用

接下來一些常識:

SVN使用圖示說明:

【軟體工程】6.svn的使用

TSVN的使用基本流程:

【軟體工程】6.svn的使用

轉載請注明出處:http://blog.csdn.net/acmman/article/details/50742055

繼續閱讀