svn教程

MyEclipse 中使用 TortoiseSVN

一.   svn 簡介:

    SvnSubversion)是近年來崛起的版本管理工具,在當前的開源項目裏(J2EE),幾乎95%以上的項目都用到了 SVN。Subversion 項目的初衷是爲了替換當年開源社區最爲流行的版本控制軟件 CVS,在 CVS的功能的基礎上有很多的提升同時也能較好的解決 CVS 系統的一些不足。

 

    TortoiseSVN是 Subversion 的 Windows 擴展。它使你避免接觸 Subversion 枯燥而且不方便的 Command Line。它完全嵌入 Windows Explorer,使用時只需在正常的窗口裏右鍵操作就可以了

Subversion爲版本控制軟件的服務器端。

TortoiseSVN爲版本控制軟件的客戶端。

二。Subversion下載安裝

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

下載地址:http://subversion.tigris.org

我們使用版本Setup-Subversion-1.6.5.msi

安裝界面

         

 

第一步:點擊Setup-Subversion-1.6.5.msi

      

 

 

第二步:

     

 

 

第三步:安裝到software目錄下的svn目錄下這兩個目錄都要提前建立

      

 

 

第四步:

 

        

 

 

 

第五步

 

 

         

 

第六步:安裝完成

 

第七步:最終安裝完成後,如何驗證在我們的服務器上就成功安裝了Subversion呢?Subversion在安裝時,同JAVA的開發環境(JDK)的安裝一樣,同樣會自動的把安裝目

錄下的bin目錄設置到系統的系統變量中去。如果你是使用的綠色版,那麼設置系統變量

這個步驟就得你自己手動的來設置了,如:

 

 

第八步:,如果我們在系統的命令行執行命令:

svnserve –version

如果能正常顯示如下圖所類示的信息,則表明我們的Subversion的安裝是成功了的。

    

subversion 服務的啓動(在xp 系統中)

 

1》 雙擊執行 Setup-Subversion-1.6.5.msi

詳見:SVN安裝界面文檔

2》 subversion 安裝成功後,在啓動svn前需要先建立一個文檔倉庫

我們使用svn服務器端命令 svnadmin建立 如下:

svnadmin create F:\software\repository\svn\itcast

3》 建立好文檔倉庫後,我們進行subversion啓動

第一種方式:命令行啓動,我們使用服務器端命令 svnserve 如下:

svnserve -d -r F:\software\repository\svn\itcast

啓動後我們如何知道svn啓動成功呢? 我們查看端口使用情況:

netstat -an

我們看到3690端口服務,說明啓動成功


第二種方式:安裝svn後配置windows自動啓動服務

 

sc create SVN-Service binpath= "D:\Subversion\svn\bin\svnserve.exe--service -r J:\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip
  binpath 指定svnserve 的路徑和命令
  start= auto 表示服務自動啓動。注意:等於號的左邊無空格,而右邊必須有一個空格
  Displayname、start、depend
  在此命令中-r(--root)項目版本倉庫的根目錄

啓動服務

net start SVN-Service

 

查看服務是否添加成功,可以選擇windows 控制面板--》》管理工具--》》服務 會發現列表中有SVN-service服務

    

 

 

刪除服

sc delete SVN-Service

 

 

如果要重新安裝SVN-Service請先刪除這個服務

 

如下圖。。

 

 

 

 

這樣。。SVN-Service服務端就算是安裝完成了   ,,

你也可以自己設置爲手動啓動。。以免佔開機時間。

SVN-Service服務端 是否是打開的,還可以通過查看本機的端口號3690是否開啓來確認。每一項服務的開啓都有會開啓一個獨有的端口號 如mysql 3306  tomat 8080 等等

可以用netstat -an 命令查看 如圖

     



三。Tortoisesvn下載安裝

http://tortoisesvn.net/downloads

360安裝衛士軟件寶庫

我們安裝版本TortoiseSVN-1.7.6.22632.msi

Tortoisesvn漢化

http://tortoisesvn.net/downloads(Language packs

 

Tortoise SVN安裝界面

 

第一步:點擊TortoiseSVN-1.7.6.22632.msi

 

 

 

第二步:

 

 

第三步:

 

 

 

第四步:

 

第五步

第六步:安裝完成

 

 

第七步:最終安裝完成後,系統提示是否重啓,點擊yes(因爲不重啓可能會造成顯示不正確)

第八步:我們如何判斷客戶端安裝成功呢

在任一文件夾中點擊鼠標右鍵,如果顯示如下圖所示,說明安裝是成功了的

 

 

 

 

四。給myeclipse 9.0 安裝svn插件

方法 一

 

1.打開MyEclipse 9.0,Help > Software Updates > Find and Install...

如果Help下沒有:window--preferences--general-capabilities,右側選中Classic Update,“apply”即可,現在help中就出現“Software Updates”了。

       

 

在彈出的菜單中選

Search for new features to install >next > New Local Site... >

到下載的SVN 插件解壓出來的文件夾(subclipse-1.6.5) > 確定> Finish,

 

 

在彈出的菜單中,Select the features to install:

在剛加進去的路徑/site-1.6.5 這一項前打鉤,此時會報錯,然後點開
Subclipse 前的加號,去掉Subclipse Integration for Mylyn
3.x(Optional)3.0.0 前的勾,錯誤消失> next > 選I accept the terms in
the license agreements > next > next > 選中所有的8項,然後Change
Location...,在彈出的菜單中選Add Location...,選擇在第2步中建的文件夾的路
徑(C:\Program Files\MyEclipse 6.5\eclipse\plug-in\site-1.6.5)>
Finish > 在彈出的菜單中選Install All > Yes ;

本圖是我已經安裝好後的 作爲報錯的提示

 

 

2、完成第3步後,MyEclipse 會重啓,Window > Show View > other > 選擇
打開SVN 目錄下的SVN Repositories;

   

[轉]MyEclipse 中 使用 TortoiseSVN - 淺色天空 - 淺色天空

3、可以正常使用SVN 插件了。

 

 

[轉]MyEclipse 中 使用 TortoiseSVN - 淺色天空 - 淺色天空

 

[轉]MyEclipse 中 使用 TortoiseSVN - 淺色天空 - 淺色天空

 

方法二 這個方法比較通用。。也適合在eclipse中喲

 

1.把下載好的   eclipse_svn_site-1.6.5.zip zip包解壓到myeclipse6.5根目錄下

[轉]MyEclipse 中 使用 TortoiseSVN - 淺色天空 - 淺色天空

2.在links 文件夾下新建一個名爲eclipse_svn_site-1.6.5.link 的文件

[轉]MyEclipse 中 使用 TortoiseSVN - 淺色天空 - 淺色天空

3.在eclipse_svn_site-1.6.5.link 中添加path

path=D:/javasoft/MyEclipse6.5/eclipse/eclipse_svn_site-1.6.5
[轉]MyEclipse 中 使用 TortoiseSVN - 淺色天空 - 淺色天空

 

4.重啓 eclipse  或者myeclipse 如果出現首頁  就是打開eclipse 那個  非常漂亮的主頁

說明安裝好了 或者看見這個

 

[轉]MyEclipse 中 使用 TortoiseSVN - 淺色天空 - 淺色天空

 

 

 

 

下圖是一個svn的訪問圖 

svn 的策略

拷貝-修改-合併方案(svncvs採用)

拷貝 :如果一個新成員剛來到公司時,項目經理就會讓他的部員第一次去checkout .

     這裏的checkout 是接觸項目的第一次對svn的操作。目的是從服務器中的svn倉庫中下載到本次項目的源碼,一般今後和同事們一起構建這個項目,爲這個項目來添磚加瓦,其後會是一頓的 update

修改:這個可以這麼理解,就是修改從svn倉庫下載來的源碼。不管是你自己以前寫的還是別的同事的源碼,都可以修改。

合併: 在兩個人a,b先後 修改了 xxx.java 但是 b.先commit了。。 後來a在commit時, 發現版本過期。

這時。a不得不update 後在慢慢的合併 自己和b的代碼。。然後才commit .要是b未調試好自己的代碼。就commit 了 。這些a就蛋疼啦。。 還要解決b遺留下來的問題。 要知道這個合並不是好事呀

 

 

小例子。

    先來三個人物。。項目經理yoyo   職員lili   公司新人biabai

先來創建  svn倉庫【repository】

 倉庫在我本機上給建立啦。。本人也沒能力去買一臺深藍Super cp 來當服務器ya,沒法,我這破本是又當Server  又當Client。嘿嘿開始啦。

在先前我們啓動 SVN-Server時就指定了svn 倉庫了。

 

 

這裏J:\repository\svn  就是我們的大倉庫 ,這裏指定的是多倉庫.

之後我們在svn文件夾裏新建一個如AO項目的文件夾ao

 

 

進入AO項目的文件夾。我們將把它作爲一個小倉庫

右鍵鼠標依次選擇 TortoiseSVN ->Create repository here

 


之後。。選擇 ok 就在服務器端上的J:\repository\svn大倉庫下好了我們OA項目的代碼倉庫oa 小倉庫

 

 

  

倉庫目錄說明

db目錄:就是所有版本控制的數據存放文件。

hooks目錄:放置hook腳本文件的目錄

locks目錄:用來放置Subversion文件庫鎖定數據的目錄,用來追蹤存取文件庫的客戶端。

format文件是一個文本文件,裏面只放了一個整數,表示當前文件庫配置的版本號。

conf目錄:是這個倉庫的配置文件(倉庫的用戶訪問帳號、權限等)。 

 

下一步。。

給我們的oa項目小倉庫創建訪問權限

  是的,看了上面的說明後可知,在conf文件夾下 有倉庫的配置文件

我們進入conf 如圖:

 

 

看圖的情況我們得先配置 svnserve.conf 文件。。

用一般的記事本打開。。我們稍稍的修改幾下就差不多啦

第一步對svnserve.conf 文件作如下修改,找到以下四行: #anon-access = read #auth-access = write #password-db = passwd #authz-db = authz 將這四行前的“#”號去掉,並修改如下: anon-access = none 不允許匿名用戶訪問 auth-access = write 通過驗證的用戶可以讀寫 password-db = passwd 用戶保存文件 authz-db = authz 權限管理文件

 

 

第二步對passwd中 添加一行 user1=user1passwd (前面是用戶名,後面是密碼) ltw = ltwpasswd

 

第三步對authz中 作如下操作

[groups] svngroup = ltw [itcast:/] @svngroup = rw 定義組svngroup下的所有用戶擁有 讀寫權限 (注意:rw權限具有繼承性,例如我們對於根目錄設置了有讀寫權限 則對於根目錄下的所有子目錄同樣具有讀寫權限) user1 = r 定義用戶user1擁有讀權限 * = 其他用戶無任何權限

如果權限保護目錄爲中文,則必須將authz文件利用ultraedit工具轉存爲UTF-8 無BOM 格式 否則權限不生效

給倉庫放東西

接下來 ,項目經理yoyo就會把項目的框架給搭建好。發佈到 倉庫上 ,然後讓程序員們checkeout 來得到了

打開myeclipse 6.5 新建一個oa 項目如圖

 

點擊finish後我們算是模擬完成項目經理搭建項目的框架了 。

接下來 打開svn Repositories 視圖 點擊 下圖紅框中的按鈕 進入 Add SVN Repository 窗口

輸入你要上傳的 倉庫的Url ,由於是本機上的我就svn://localhost/oa 啦  這裏的oa 就是我這個項目對應的小倉庫啦。 點擊finish 後會出現如下圖 左邊 有一個***小桶 後邊跟着svn://localhost/oa 的字樣的

這表明。你連接成功了。

 


如下圖。當我們準備第一次Checkout時。什麼都沒有。

 

 

如下圖。讓後yoyo就上傳項目了。當然這是一個Share 的過程:

    在share 之前,你的項目的圖片沒有變化就是一個普通的web project 項目的圖標

步驟一

步驟二

 

 

 

 

步驟三

 

步驟四

 

 

 

點擊finish 完成。。完成後,,yoyo的項目就變成帶  *   的 web project 啦。 這個提示。。這個項目需要更新啦 。。那我們就第一次提交來更新它。

當我們Commit 後。又會變成帶有   ***小桶的web project 圖標 這說明此項目是更新過的

提交時會需要密碼輸入。。你可以讓它記在你的密碼

如下一系列圖。是提交過程: 1.

2.

 

 

3

 


4

看這裏   項目圖標右下角變成***小桶啦。

 

 

之後我們來開始  協同 工作。。

yoyo  新建一個MyJsp.jsp  ,在裏面輸入一個"svn test <br>"字樣 保存後 Myjsp.jsp的圖標右下角變成? 說明Myjsp.jsp 修改了,還沒有沒有提交 ,我們提交以下。

步驟如下:

 

1

 

2

 

3

 

 

4  到這裏 。項目中文件的圖標都在右下角都添加了一個***小桶。見到小桶讓人舒服呀。。。這表示你的工作完成了。

 

 

同時 。。程序員lili  要參加這個項目的開發中來。。lili 也得先checkout 從服務器端共享一份源碼,來工作

這裏我們就沒有用myeclipse來演示 ,爲了熟悉以下窗口下的工作方式。

lili在他的工作空間中 新建了一個lili的文件夾,以便來接受存放源碼

步驟如下:

1

2  進入lili 文件夾,在窗口內單擊鼠標右鍵,出現如下圖的菜單。然後checkout 吧

 3 ,  輸入項目經理yoyo給lili的 ao項目倉庫地址  如下圖高亮處,

4點擊ok 後就有一個綠園白鉤的讓人舒服的文件夾,沒錯 這個就是項目經理yoyo構建好的svnTest項目

 

5, 進入項目中發現和yoyo在myeclipse 中的文件是一樣的。呵呵。。這就是svn 的高明之處啦。。

 

 6 在WebRoot 目錄下 還找到了 yoyo 編輯過的Myjsp.jsp.

 

爲了體現  協同。。yoyo再次在MyJsp.jsp中添加了 yoyo add agian<br> 並且提交了

步驟如下:

1

2 提交: 把yoyo修改的Myjsp.jsp 提交到服務器上去,更新項目的版本 

 

3  lili 得知 yoyo 更新了Myjsp.jsp ,便更新了一下自己的項目。

 

 

4  lili 再次打開 yoyo修改過的MyJsp.jsp 後。 發現多了 yoyo add again<br>   如下圖紅框中的內容。。

        這就對了。。。而且 版面跟新爲4 了 

 

這時來了一位新員工。。baibai

  baibai也要加入這個項目來。。就在 項目經理個baibai添加了用戶和密碼。。如下圖。。不明白請參考上面倉庫設置權限的小節。

 

baibai 上班第一天也是 先在 SVN Repositories 視圖中添加項目經理yoyo指定 svn 倉庫

如下圖

 

 

然後導入 要一起協同開發的項目

 1.File菜單-》Import

 

2 .svn ->Checkout Projects form SVN

 

3 選擇連接

 

 4.選中項目  點擊finish

下圖是還沒有導入項目之前的樣子

 

導入後的的 svnTest 項目

點開 項目的+ 號 後找到 myJsp.jsp 並進行修改 。添加 baibai add<br>  後提交。。

 

 

得知被baibai,修改Myjsp.jsp 後的lili  的更新一下 項目

 

 

下圖爲 lili update 後的 myjsp.jsp  。。

 

就此   一次次的新建文件 。修改  ,提交。。更新   後。。。。。項目就完成了。。

當 發現 別人修改後的代碼不對時還可以通過History 用舊版本的文件替換新的有bug的文件


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章