[.net 物件導向程式設計進階] (24) 團隊開發利器(三)使用SVN多分支並行開發(下)
本篇導讀:
接上篇繼續介紹SVN的高階功能,即使用分支並行開發。隨著需求的不斷變更,新功能的增加。特別是敏捷開發中,需要有一個穩定的分支隨時可以打包版本。那麼我們的專案不能把不穩定的程式碼放在主幹上。對於新的功能有些需要進行技術試驗,產生的不穩定程式碼不能影響專案的主幹。對於中型專案,人數在20人及以上的情況下,往往需要分組開發,在代理管理中,我們就可以很好的利用SVN的分支功能。分支開發相對穩定以後,可以很方便的合併到主幹上來。本篇最後會介紹一下如何在Visual Studio 2013/2015中使用SVN外掛進行程式碼管理。
1.建立分支
瞭解了分支的作用,假設我們有一個專案有很多功能,團隊配置20人,主要功能有:核心業務模組、TCP/IP通訊模組、射頻卡/IC卡通訊模組等。為了合理安排人員,我們將人員分為三個小組,第一小組負責主幹業務模組開發,當然這些模組需要兩個通訊模組的支援,另外兩個小組各負責一個分支開發,當分支相對完善的時候合併到主幹模組。
基於上面的開發模式,我們利用SVN的分支功能,下面具體介紹如何建立主幹和兩個分支。
先把我們主專案簽入到伺服器上,具體操作上篇中已經介紹了,簽入後,我們開啟伺服器端,看一下主專案結構,如下:
專案名稱“TestObject”,下面有三個模組,主模組“Main”,還有兩個模組“RfIc”、“TcpIp”
廢話不多說,我們建立兩個分支分別名為 TestObject_Branch_1 和 TestObject_Branch_2
具體操作如下,在客戶端機器主專案 目錄上右擊,點選 TortoiseSVN ,點選 “分支/標記”
在開啟的分支視窗中
輸入分支名稱,路徑為根目錄,在下面目標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>
==============================================================================================