淘淘商城第8講——向SVN服務器提交代碼

回顧一下之前所新建的SVN倉庫

在上一講中,我們一起學習瞭如何來安裝SVN服務器並且新建了一個名稱爲taotao-javaee的空的倉庫,如下圖所示。
在這裏插入圖片描述
從上圖中我們可以清楚地看到taotao-javaee倉庫下有三個空的文件夾,它們分別是branches、tags以及trunk,你不僅就要問了,這三個文件夾分別代表什麼意思呢?下面我就來告訴大家,如有講得不好的地方,還請指出,大家可以一起討論。

branches

branches文件夾代表的是分支。如何理解分支這一概念呢?舉個例子,我們在開發項目時往往會分版本,比如1.0、2.0之類的,當我們開發完1.0版本之後,往往就要拉一個分支出來,這時主幹繼續開發2.0版本。但是1.0版本上線之後肯定會遇到一些bug,遇到bug我們肯定要處理啊,那麼我們在哪兒進行處理呢?答案是在分支上,因爲主幹上的代碼加入了很多新特性,還未經過詳細測試,不穩定性比較高,而分支上的代碼是舊的代碼,並沒有加入新特性,因此改動起來更簡單也更穩定些。當然了,在分支上改完之後,肯定要把分支上修改的代碼合併到主幹上來,因爲我們不能讓1.0版本的bug在2.0版本再重現。如果修復的是1.0版本的bug,那麼修改完之後新建版本應該是1.1、1.2、1.3等等。

tags

tags文件夾代表的是標籤,它主要是記錄一些關鍵時間點,比如某個版本發佈的時間,某個大的bug修改的版本等,我們在tags做下標記,這樣方便我們根據標籤找回我們想要的以前某個版本的代碼。

trunk

trunk文件夾代表的是主幹,它是我們平時開發所在的目錄,也就是說在正常情況下,我們開發的代碼應放在主幹這兒。

主幹的代碼始終是最新的,版本也是不穩定的,需要經過多輪測試才能驗收通過,這時再新建分支,然後接着開發新的版本。

你有可能對於這句話,不是那麼的很明瞭,接下來,希望通過我比較通俗的話語可以讓你理解得更加的深刻。舉個例子,比方說我們開發一個項目,就拿淘淘商城這個項目來說,該淘淘商城項目有不同的版本進行迭代,例如taotao v1.0taotao v2.0taotao v3.0、······,這些不同的版本是主幹上的版本。當我們開發出來taotao v1.0這個版本之後,就得發佈一版。接下來,我們就要繼續開發taotao v2.0這個版本了,這個時候我們依然是在主幹上進行開發的。那麼好了,現在taotao v1.0這個版本有bug了,改不改呢?那當然得改了,改的時候,能在主幹上改嗎?答案是不能。這個時候,主幹已經開發完taotao v2.0這裏面的功能了,你即便是在taotao v2.0這個主幹上改完了,你也不能進行發佈。因爲taotao v2.0增加了一些新的功能,可能都還沒有進行測試,這個時候,你再重新發布,那就肯定會包含一些有問題的功能點,所以,你不能在主幹這兒改。

taotao v1.0這個版本一旦發佈了之後,你就應該建一個分支(branches),然後主幹繼續向前開發。如果分支這裏面有bug,那麼就在分支裏面進行修改,這樣勢必就會出現taotao v1.1taotao v1.2taotao v1.3等這些小版本號。在分支裏面改完bug之後,要不要合併到主幹呢?這肯定要合併到主幹,因爲你都知道有bug了,難道主幹就不改了嗎?難道你還能把這個bug帶到taotao v2.0版本中嗎?所以你得把分支裏面修改的內容合併到主幹,這樣保證我們主幹裏面的內容是最新的。我們主幹一旦把taotao v2.0這個版本開發完,並且測試完之後,再爲該版本建一個分支,接着繼續開發taotao v2.0這個版本。

由於我們現在還處於開發項目的過程中,所以我們應該把代碼上傳到trunk主幹之上。

上傳代碼

要向SVN服務器上傳代碼,首先我們需要知道上傳的地址,如何獲取要上傳的地址呢?很簡單,方法是在trunk文件夾上右鍵,再在其子菜單中點擊Copy URL to Clipboard,如下圖所示。
在這裏插入圖片描述
粘貼我們剛纔複製的URL到記事本上,你便可以看到https://liayun:8443/svn/taotao-javaee/trunk這樣的一個URL,它是以https開頭的,也就是安全模式,https默認的端口號是433,如果本地有進程佔用了433端口請先關掉那個進程。

上傳代碼秉承先獨立後依賴的原則。比方說,taotao-parent就是個獨立的工程,它並沒有依賴任何別的工程,因此我們便先上傳它,然後taotao-common工程只依賴了taotao-parent,而其他工程都依賴於它,因此第二個便上傳taotao-common工程,接着taotao-manager工程依賴於taotao-common,因此我們第三個便上傳taotao-manager工程,這裏值得說明的是,由於taotao-manager是個聚合工程,它聚合了下面四個子工程,因此我們只需要上傳taotao-manager工程即可,不用再單獨上傳它下面的四個子工程。最後我們上傳taotao-manager-web工程。

上傳taotao-parent工程的代碼

第一步,我們在taotao-parent工程上右鍵,然後在其子菜單中選擇Team,接着再在其子菜單中點擊Share Project...,如下圖所示。
在這裏插入圖片描述
第二步,彈出如下窗口,並在窗口中選擇SVN,然後點擊Next按鈕。
在這裏插入圖片描述
第三步,我們可以看到如下圖所示的窗口,在該窗口中,我們選擇使用默認的創建新的資源庫位置,然後點擊Next按鈕。
在這裏插入圖片描述
第四步,我們會看到如下圖所示的窗口,然後在URL一欄中輸入我們上面複製過來的URL,然後點擊Next按鈕。
在這裏插入圖片描述
第五步,在彈出的如下窗口中,我們使用默認配置即可,然後點擊Finish按鈕。
在這裏插入圖片描述
第六步,此時,會彈出如下窗口,讓我們輸入SVN的用戶名和密碼,輸入完之後,記得勾選保存密碼前面的框框,然後點擊OK按鈕。
在這裏插入圖片描述
第七步,此時我們會看到如下圖所示的窗口,點擊Yes按鈕即可。
在這裏插入圖片描述
第八步,此時,我們會進入同步視圖,在同步視圖中我們可以看到本地和服務端的差異。
在這裏插入圖片描述
第九步,我們在上傳文件前需要先排除不需要上傳的文件,比如.settings文件,我們就不能上傳到服務端,因爲每一個人的本地的配置都有一個.settings,並且都不一樣,如果你傳上去,別人一更新,那麼你的.settings就會覆蓋他本地,可能就造成這個工程壞了,各種各樣奇怪的問題都會隨之出現,所以最好不要把.settings傳上去,也就是說這個時候.settings就需要被忽略。

那麼如何忽略該文件呢?我們可以在其上右鍵,並在右鍵菜單中點擊添加至svn:ignore(D),如下圖所示。
在這裏插入圖片描述
然後,我們會看到如下圖所示的窗口,點擊OK按鈕即可。
在這裏插入圖片描述
接着,我們就可以看到我們的taotao-parent工程已經沒有.settings文件了。
在這裏插入圖片描述
以上這種方式只針對當前文件有效。其實,忽略某些文件還有另外一種方式,即配置忽略規則,這種方式更好一點。

那麼如何來配置忽略規則呢?首先,點擊Eclipse菜單欄中的Window菜單,在其下拉列表中選擇Preferences,如下圖所示。
在這裏插入圖片描述
然後,彈出如下窗口,並在該窗口的左側找到Team,在Team下有一項Ignored Resources,我們點擊它,在右側可以看到當前默認添加的忽略的資源,還可以看到,其中並沒有忽略.settings文件和.project文件,因此我們需要把這兩個加到這裏面來。
在這裏插入圖片描述
接着,我們點擊Add Pattern...按鈕,會彈出添加忽略格式的窗口,我們在輸入框中輸入.settings,然後點擊OK按鈕,如下圖所示。
在這裏插入圖片描述
添加完.settings之後,我們再來添加.project,這時我們可以看到在忽略的資源當中已經有我們剛纔輸入的.settings和.project了,緊接着,依次點擊ApplyOK按鈕。
在這裏插入圖片描述
最後,忽略完.settings和.project這兩個文件之後,我們可以看到工程下已經沒有他倆了,而且這樣做,以後其它項目在提交的時候也會自動忽略掉.settings和.project這倆文件。
在這裏插入圖片描述
第十步,我們開始把taotao-parent工程的代碼上傳到服務器。首先右鍵taotao-parent工程,然後在其子菜單中點擊提交(C),如下圖所示。
在這裏插入圖片描述
正式提交前需要寫下提交的內容,如下圖所示,然後點擊OK按鈕。
在這裏插入圖片描述
提交完taotao-parent工程的代碼之後,我們來看下SVN服務器上是否已經有我們剛纔上傳的工程了,刷新一下trunk文件夾,發現它下面確實出現了taotao-parent工程了,這已然說明taotao-parent工程的代碼上傳成功了!
在這裏插入圖片描述

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