SVN使用手冊[1]_第1頁
SVN使用手冊[1]_第2頁
SVN使用手冊[1]_第3頁
SVN使用手冊[1]_第4頁
SVN使用手冊[1]_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、Subversion使用手冊Subversion的使用配置已經(jīng)完畢了,下面就要開工啦。1 SVN的訪問如何訪問SVN請看下表:方案訪問方法http:/ 2 首次導入(import)對需要進行版本控制的源碼,需要先導入到版本庫中,形成第一個修訂版本。使用import命令,可以使用TortoiseSVN的import命令。首次導入之后,版本庫中就已經(jīng)包含了版本控制文件了,以前導入的文件也就可以刪除了。好了,現(xiàn)在我們在任意地方新建一個文件夾比如叫做import,里面新建三個文件夾design,release,trunk。各個文件夾的作用已經(jīng)在前面說了,在此不再贅述,然后將我們西安現(xiàn)在正在開發(fā)的項目放

2、到trunk文件夾中,我們的項目有兩個文件一個是A.java一個是B.java,A.java文件中的內(nèi)容是public class Apublic static void main(String args)System.out.println("Hello Everyone!");B.java文件中的內(nèi)容是public class B還有就是我們把我們開發(fā)的設計文檔design.doc放到design文件夾里,這些都放好之后,在import文件夾的空白處右擊,在彈出的菜單中選擇TortoiseSVN然后在彈出菜單中選擇Import,彈出如下內(nèi)容:(圖3-2-1)圖3-2-1

3、在URL of repository中填上訪問地址,本地訪問題寫svn:/localhost/即可,外面機器訪問就需要填寫IP了,然后在Import message里寫上說明點擊OK進入下一步。大家就會看到如下界面(圖3-2-2),填寫上用戶名和密碼,為了更加快捷的工作,我們把Save authentication復選框選上,這樣以后就不用一次又一次地輸入用戶名和密碼了,不過如果你感覺這樣不安全,你也可以在TortoriseSVN的settings里把它去掉。點擊OK,就會出現(xiàn)(圖3-2-3)的界面。圖3-2-2圖3-2-3這樣我們的版本庫中就有了我們要進行版本控制的項目,而且可以看到最后一句

4、,當前的版本是1。3.1 首次檢出(checkout)需要將版本庫的代碼檢出(checkout)到一個文件夾,就得到了一份工作拷貝,可以對工作拷貝進行修改??梢允褂肅heckout命令。注意,不要檢出到剛才用于導入(import)的文件夾,否則文件的覆蓋會出現(xiàn)錯誤,如果確實很需要,就先刪除原文件夾中的所有內(nèi)容,然后檢出(checkout)。檢出所得的工作拷貝,每個文件夾中都包含一個.svn文件夾,其中包含了SVN的一些信息,有如版本庫,不要進入這個文件夾,沒什么好處。具體操作是在你想的獲得開發(fā)源碼的地方比如說本例在E:workspace,在此文件夾里右擊,在彈出菜單中選擇SVN Checkou

5、t,彈出如下界面(圖3-3-1),因為我們只需要開發(fā)代碼所以地址要定位到trunk文件夾,其他的默認即可,點擊OK。圖3-3-1如果剛才你沒有讓TortoiseSVN記住密碼的話,Checkout的時候也會讓你輸入密碼的,請輸入對此目錄有讀權(quán)限的用戶名和密碼,不然的話會出錯,這一次我用了Tom的用戶名和密碼。然后我再在另外一臺機子上用Jim這個用戶名Checkout一份拷貝。完成后就會看到trunk文件夾里的A.java和B.java就會被拷貝到workspace這個文件夾里,而且文件上面還帶著綠色的對號,表示現(xiàn)在的文件沒有作修改。3 提交修改(Commit)現(xiàn)在可以修改你的項目代碼了,比如說

6、Tom給B.java添加一個Test方法,具體如下:public static void test()System.out.println("Test!");添加完成后你就會看到B.java文件上的綠色的小對號變成了紅色的小嘆號,表明文件已經(jīng)做了修改,如果感覺沒有問題了,就可以將修改完的文件提交到版本庫中,可以直接右擊修改的那個文件,也可以在修改的文件所在的文件夾右擊,然后選擇SVN Commit這時會彈出如下界面(圖3-4-1),填寫相應信息后,點擊OK即可,這時如果沒有讓TortoiseSVN記住用戶名和密碼還是要輸入的,輸入之后會出現(xiàn)(圖3-4-2)的界面,這時可以看

7、到版本已經(jīng)變成了2。圖3-4-1圖3-4-24 更新(Update)上一步中Tom把B.java修改了,然后提交到了版本庫中,而這時Jim還是以前的,如果他想要看到最新的版本,那么他就必須更新他的拷貝,在需要更新的文件夾里右擊或者需要更新的文件右擊,選擇SVN Update,這時就會提示你輸入用戶名密碼,輸入之后就會更新到最新的版本。5 合并(Merge)由于有了版本控制,這樣多個開發(fā)人員可以同時開發(fā)這個項目,當兩個人Tom和Jim同時編輯一個文件B.java,Tom編輯完之后將修改提交,當前版本是10,他為Test方法添加了一句話:System.out.println("Tom T

8、est!");沒有任何問題,提交之后版本就會加1,提交后變成11,當Jim修改完,他在B.java里添加了一句話System.out.println("Jim Test!");他當前的版本是10,當他也想提交時,問題來了,出現(xiàn)了下面的錯誤(圖3-6-1):圖3-6-1意思就是說當前你提交的版本低于版本庫中的版本,已經(jīng)過時了,這說明有人在此之前提交過,這時侯Jim必須先升級他的B.java文件,升級如果與當前本地的版本有代碼不一致的地方也會提示如下錯誤,表示SVN無法自動處理這些差異,需要人工去合并(圖3-6-2):圖3-6-2B.java上的圖標也變成了黃色三角嘆

9、號,而且當前文件夾里會出現(xiàn)幾個文件,文件名都是修改了的文件的文件名加上版本號,比如說當前Jim的就是B.java.r10,B.java.r11,B.java.mine等,這些文件中存放的都是各個版本的此文件的內(nèi)容,.mine里的是本地修改后的文件內(nèi)容,這些文件都是為了讓你手工去合并而產(chǎn)生的,。手工去合并有一些方式,推薦使用TortoiseMerge,具體操作為更新完畢后再次Commit B.java文件,這個時候就會發(fā)現(xiàn)如下(圖3-6-3),圖3-6-3B.java是紅色的標注的,并且是conflicted(有沖突的),這個時候雙擊列表框中的B.java就會打開TortoiseMerge的界面

10、(圖3-6-4)圖3-6-4在這里面可以很清楚的看到,左上角上是Theris,也就是版本庫中的B.java,右上角是Mine,也就是自己的B.java,下方是Meraged,表示合并之后的B.java。而且列數(shù)里還有一些小圖標:我們說說小圖標的意思。· :表示這一行被添加了。· :表示這一行被刪除了。· :表示這一行只包含空格一類的修改,并沒有實際代碼的變化,或者是幾行合并成為了一行,你不需要對代碼進行修改。· :這一行是用TortoiseMerge手動修改的。· :表示這一行現(xiàn)在有沖突。· :表示這一行以前有沖突,但是沖突的效果被空

11、格和回車隱藏了。· :表示這里行里修改因為恢復了原始的內(nèi)容,修改都被解除了。在這里面可以清楚的看到,兩個版本中的不同之處,如果想留下Jim寫的,也就是Mine中的System.out.println("Jim Test!");,那你就可以在Mine中的紅色的那一行里右擊選擇Use this text block,意思是使用這一行,這時候你就會看到下方Merged里的那一行問號變成了剛才選擇的那一句?,F(xiàn)在說說菜單項的作用:在上面那兩個窗口中:l Use this text block:表示使用這一行。l Use this whole file:表示使用整個這一個文件

12、。l Use text block from “mine” before”thires”:表示沖突的兩句話都要留下,但時mine的在前面,thires的在后面。l Use text block from “thire” before”mine”: 表示沖突的兩句話都要留下,但時thires的在前面,mine的在后面。在Merged窗口中的菜單項基本上上面的明白了,這里的也就明白了,呵呵。我們現(xiàn)在想要沖突的兩句全都留下,而且Tom的在前,Jim的在后,我們就可以在Merged窗口中右擊沖突的一行使用Use text block from “thire” before”mine”,這樣就達到了想要

13、的效果,修改完之后,別忘了最重要的一步:就是確認已經(jīng)Merge完畢點擊圖標工具欄上的圖標即可,然后就可以關(guān)閉TortoiseMerge,這個時候就可以點擊OK來提交了。如果代碼不是很多,你可以直接打開更新后的B.java可以看到里面在有沖突的地方有相應的標注,如下:<<<<<<< .mineSystem.out.println("Jim Test!");=System.out.println("Tom Test!");>>>>>>> .r11這個表示本地文件在這一行是Sy

14、stem.out.println("Jim Test!");,而版本庫中的也就是第11個版本的B.java是System.out.println("Tom Test!");,現(xiàn)在就需要決定是留哪一句,通過與其他開發(fā)人員交流之后,知道怎么改了,就可以將那些標注和不能留下的語句去掉即可,然后將那些自動生成的B.java.r10,B.java.r11,B.java.mine等文件刪除,然后再次Commit也是可以的,這個方法只適合代碼較少,很容易發(fā)現(xiàn)不同之處的情況,不過還是使用TortoiseMerge好。6 回退(Update to reversion)這個

15、情況是很容易發(fā)生的,那就是當大家修改了代碼之后,發(fā)現(xiàn)程序有很大漏洞,而且及其難改,這個時候就可以將你的項目回退到以前的版本,具體操作是:右擊想要回退的文件夾或者文件,在TortoiseSVN彈出菜單中選擇Update to reversion然后回彈出一個界面,比如說我們想要回退到第10個版本只需要在Revision中填寫相應的版本號,然后點擊OK即可。7 Branch and Tag當我們開發(fā)到一定程度,感覺這個版本已經(jīng)做夠成熟了,已經(jīng)可以拿來發(fā)布了,我們可以將這個版本當做一個備份保留起來這樣以后修改,出了大問題可以立刻拿這里面的版本來用。操作方法是:首先從版本庫中將trunk中的項目che

16、ckout到一個文件夾里,然后右擊checkout下來的這個文件夾,TortoiseSVN彈出菜單中選擇Branch and Tag,然后就會看到如下界面(圖3-8-1):圖3-8-1在To URL里填好路徑,既然是可以發(fā)布的版本,我們就把它放到release文件夾里的V1.0文件夾里吧,如果沒有這個文件夾會自動創(chuàng)建的。然后在下面的Log窗口里寫上日志,點擊OK即可。然后我們可以使用TortoiseSVN里的Repository Brower來看看是否加入了。8 導出(Export )我們想要給客戶一個項目,當然不能帶版本信息,我們可以用TortoiseSVN菜單里的Export來實現(xiàn),新建一個文件夾,右擊文件夾TortoiseSVN菜單里選擇Export如下圖(圖3-9-1):我們將我們剛剛做好的V1.0版本導出,點擊OK即可。圖3-9-19 版本庫瀏覽器(Repository Brower )你可以隨時通過版本庫瀏覽器(Repository Brower )來查看版本庫中的變化,打開后如下圖(圖3-10-1)圖3-10-1在這里可以看到文件和文件夾都有對應的版本和作者

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論