[.net 面向對象程序設計進階] (24) 團隊開發利器(三)使用SVN多分支並行開發(下)

[.net 面向對象程序設計進階] (24) 團隊開發利器(三)使用SVN多分支並行開發(下)html

本篇導讀:編程

接上篇繼續介紹SVN的高級功能,即便用分支並行開發。隨着需求的不斷變動,新功能的增長。特別是敏捷開發中,須要有一個穩定的分支隨時能夠打包版本。那麼咱們的項目不能把不穩定的代碼放在主幹上。對於新的功能有些須要進行技術試驗,產生的不穩定代碼不能影響項目的主幹。對於中型項目,人數在20人及以上的狀況下,每每須要分組開發,在代理管理中,咱們就能夠很好的利用SVN的分支功能。分支開發相對穩定之後,能夠很方便的合併到主幹上來。本篇最後會介紹一下如何在Visual Studio 2013/2015中使用SVN插件進行代碼管理。服務器

 1.創建分支svn

      瞭解了分支的做用,假設咱們有一個項目有不少功能,團隊配置20人,主要功能有:核心業務模塊、TCP/IP通信模塊、射頻卡/IC卡通信模塊等。爲了合理安排人員,咱們將人員分爲三個小組,第一小組負責主幹業務模塊開發,固然這些模塊須要兩個通信模塊的支持,另外兩個小組各負責一個分支開發,當分支相對完善的時候合併到主幹模塊。工具

      基於上面的開發模式,咱們利用SVN的分支功能,下面具體介紹如何創建主幹和兩個分支。spa

      先把咱們主項目簽入到服務器上,具體操做上篇中已經介紹了,簽入後,咱們打開服務器端,看一下主項目結構,以下:.net

 

項目名稱「TestObject」,下面有三個模塊,主模塊「Main」,還有兩個模塊「RfIc」、「TcpIp」插件

廢話很少說,咱們建立兩個分支分別名爲  TestObject_Branch_1  和  TestObject_Branch_2設計

具體操做以下,在客戶端機器主項目 目錄上右擊,點擊 TortoiseSVN ,點擊 「分支/標記」3d

在打開的分支窗口中

輸入分支名稱,路徑爲根目錄,在下面目標URL,能夠看到 新建的分支的完整路徑,如上圖,點肯定

提示覆制完成,咱們第一個分支建立完成了,分支開發組的同窗,須要使用分支路徑打開項目。

一樣的方法,咱們再建立第2個分支 TestObject_Branch_2,這時候項目文件夾中仍然只有主幹部分,咱們想看到其餘分支,能夠在項目文件夾中,右擊,SVN更新

 能夠看到 兩個分支都更新到 本地了

 2.分支合併到主幹

不一樣的項目組成員能夠經過分支進行開發,版本相對穩定的時候,能夠隨時合併到主幹,下面介紹一下如何合併到 主幹

在此以前,咱們先對兩個分支及主幹進行改動,分支開發,確定會有不少地方產生差別。

咱們先把主幹項目的文件 \TestObject\Mian\index.txt進行以下改動

 

而後,再在主幹下增長一個文件 second.txt

 

SVN提交,主幹項目

而後,咱們分別在兩個分支上改動 \TestObject_Branch_1\Mian\index.txt  和  \TestObject_Branch_2\Mian\index.txt 文件 ,

 

而且在兩個分支分別創建兩個新文件 ,以下

分別提交之後。主幹和兩個分支,不只主頁文件不一樣,而且分支內的文件也不一樣

咱們能夠在服務端查看三個項目的結構,以下:

通過一段時間開發後,若是兩個分支相對穩定,如何合併到主幹呢?

注意:合併前,先更新三個項目到相到 穩定 待合併版本

如上圖,在主幹項目右擊,TortoiseSVN,點 合併

按上圖選擇,點下一步

 

上面的URL是主幹URL,下面是分支URL,咱們有兩個分支,重複一次合併,便可

兩個分支合併完成後,咱們再看一下主幹目錄下的變化

 

打開變動的文件 index.txt

咱們看到,這裏變動爲最後一個合併的分支2的部分變動,剛纔有合併分支2的時候,若是代碼有衝突,會有一個提示,我選擇的是 解決衝突,那麼就替換掉了,若是選擇不解決,能夠保留主幹上的更改。

具體要看衝突代碼而定,即便咱們手抖點錯了,也能夠經過上篇文章中提到的恢復功能,進行版本回退。

3.主幹合併到分支

在項目推動過程當中,若是分支代碼須要主幹部分的變動,咱們能夠經過主幹合併到分支

咱們先在主幹上創建一個新文件fast.txt

提交主幹,更改。

用一樣的方式在分支上右擊,打開 合併 窗口

注意:此次須要在要更新的分支上打開合併

合併窗口以下

和上次不一樣的是,主幹 --》 分支,咱們須要先選分支URL,下面選主幹URL

完成後,咱們看一下 分支1的目錄

如上圖,咱們看到 ,分支1上合併過來了主幹的文件 fast.txt.同時也將主幹的差別文件也複製過來了

用一樣的方法,能夠將主幹也更新到 分支2,再也不贅述。

至此,SVN的分支並行開發就介紹完了,是否是很是方便?

下面咱們介紹一下如何在Visual Studio 2013/2015 中使用 SVN,其餘版本的 VS也適用

4. Visual Studio 2013/2015 中 SVN 安裝

這裏接上篇文章,若是直接跳到這裏看的同窗,能夠看一下上篇,URL:http://www.cnblogs.com/yubinfeng/p/5177994.html

前提是咱們已經安裝了VS 2015/2013 

咱們找到上篇中下載的SVN for VS插件安裝包,以下

 

雙擊安裝(VisualSvn暫時沒有中文版本,不過咱們經過上面的介紹,應該已經很熟悉了,它的使用和前篇中介紹的SVN客戶端基本同樣,只不過,使用環境不一樣,一個是資源管理器,一個在VS中而已)

 

下一步,贊成,下一步

這步,能夠看到 ,VisualSvn,會檢測你係統中已經安裝的VS版本,能選的全選中,下一步,完成安裝

完成安裝後,咱們打開Visual Studio 2015(我以2015爲例介紹,其餘版本VS相似)

能夠看到 ,Visual Studio 2015 中多了一個菜單VisualSVN,如上圖,說明咱們SVN for Vs插件已經安裝成功

下面,我介紹一下如何在Visual Studio 2015中使用SVN 

5. Visual Studio 2013/2015 中使用 SVN 開發

 打開VS 2015 在工具-選項中,設置一下你所要使用的源代碼管理器

打開選項窗口

找到源代碼管理 -》 插件選擇  ,在當前源代碼管理插件中,選擇 「VisualSVN」,肯定

接下來,咱們要作的就是 打開已有的SVN服務端的項目或將現有工程加入到SVN服務器

如上圖,咱們事先沒有VS工程,這裏我選擇 「Add Solution to Subversion...」將當前工程簽入到SVN服務器

這裏選擇一下 將要簽入的工程路徑,若是當前打開工程,則默認當前工程路徑

下一步後,如上圖,這裏有兩個選基, 一是新建一個版本庫,另外一個是使用已有的版本庫。通常狀況下,開發電腦和SVN服務器並非同一臺機器,咱們選擇已有的版本庫,若是沒有建立,能夠先在SVN服務器上建立版本庫後,再在這裏選擇。點下一步

這裏輸入,咱們已經在SVN服務器上建立好的版本庫URL,下一步

提示會將如今的工程導入到 SVN服務器指定的版本庫,點 導入 ,完成本地工程簽入

這時,咱們能夠看到 解決方案中的文件前面多了一個 小圓點 表示當前項目已經受到版本控制

咱們去SVN服務器上看,DataBase版本庫,並無文件,不要急,咱們在VS資源管理器中,右擊工程,點 Update

 提示,工程文件已簽入SVN服務器

此時,第一個版本1已經正式更新到 SVN服務器上了,咱們去SVN服務器上看看

沒有任何問題。

咱們在VS中打開一個文件更改

能夠看到 在資源管理器中,文件 前面的綠色 點變成了黃色,表示此文件被更改了。

關於狀態圖標,咱們能夠在VS的VisualSVN的選項中,打開,來更改圖標樣式,這點和Tortoisesvn差很少,只不過,狀態只有三種

在VS用使用SVN和在WINDOWS中使用tortoisesvn客戶端基本差很少,咱們在VS文件管理器中,右擊

能夠看到 ,菜單中都是咱們熟悉的。顯示差別,更新,提示,日誌,鎖定,合併,分支,恢復版本等等,這些咱們在前篇 和本篇 中都一一介紹過了,這裏再也不贅述了。。

至此,SVN的服務器配置,客戶端使用,VS中的使用所有介紹完了。

哎馬,好累 ~~~吃個蘋果壓壓驚~

6. 本節要點

本節主要介紹了SVN的高級功能 利用分支並行開發,SVN在VS中的安裝及使用,SVN的介紹就在此終結了,他的確是一款輕量級的,功能強大的版本控制系統,使用人數不可勝數。其實只學會使用並不難,重要的是要利用好,若是在使用過程當中

不講究項目的管理方法,任何控制工具都是失控的。SVN也同樣,如何分支,什麼時候合併,都須要對項目的業務有必定的理解。下面要開啓Git之旅了,但願你們支持一下。最後祝你們新年快樂,項目一路順風。

==============================================================================================

返回目錄

<若是對你有幫助,記得點一下推薦哦,若有有不明白或錯誤之處,請多交流>

<對本系列文章閱讀有困難的朋友,請先看《.net 面向對象編程基礎》>

<轉載聲明:技術須要共享精神,歡迎轉載本博客中的文章,但請註明版權及URL>

.NET 技術交流羣:467189533 .NET 程序設計

==============================================================================================

相關文章
相關標籤/搜索