團(tuán)隊(duì)軟件開(kāi)發(fā)教程一_第1頁(yè)
團(tuán)隊(duì)軟件開(kāi)發(fā)教程一_第2頁(yè)
團(tuán)隊(duì)軟件開(kāi)發(fā)教程一_第3頁(yè)
團(tuán)隊(duì)軟件開(kāi)發(fā)教程一_第4頁(yè)
團(tuán)隊(duì)軟件開(kāi)發(fā)教程一_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、團(tuán)隊(duì)軟件開(kāi)發(fā)實(shí)戰(zhàn)教程 (SVN & TortoiseSVN & AnkhSVN ) 目錄 一、版本控制 什么是版本控制? 版本控制系統(tǒng), Version Control System ,用于保存編寫(xiě)開(kāi)發(fā)項(xiàng)目應(yīng)用程 序時(shí)各文檔(項(xiàng)目源代碼)的各個(gè)修訂版( revision ),記錄程序各個(gè)模組的 改動(dòng),并為每次改動(dòng)編上序號(hào)。因此,版本控制又稱為源代碼管理。 版本控制對(duì)于程序員來(lái)說(shuō),就好比高空秋千表演者下面的安全網(wǎng)版本控制 使你有能力去冒以往想都不敢想的風(fēng)險(xiǎn)去修改程序源代碼。如果哪兒出了錯(cuò), 總是可以使自己的代碼回復(fù)到一個(gè)已知的、工作正常的版本。你可以在不觸及 主干的分支中進(jìn)行試驗(yàn),而不會(huì)影響到其

2、他小組成員,如果在已經(jīng)發(fā)布的產(chǎn)品 的較老版本中發(fā)現(xiàn) bug 時(shí),可以輕松檢出特定版本,以確認(rèn)、修訂,并生成該 bug 的修補(bǔ)程序。如果沒(méi)有版本控制,必須慎之又慎,緩慢地推進(jìn),生產(chǎn)力會(huì) 更低。 為什么要使用版本控制? 為團(tuán)隊(duì)提供了所有項(xiàng)目文檔的回退按鈕,支持多個(gè)開(kāi)發(fā)人員在可控的方式 下為相同的代碼工作,版本控制系統(tǒng)保存了文檔在過(guò)去的各個(gè)改動(dòng),便于查找 是誰(shuí),在何時(shí),因?yàn)槭裁葱薷牧宋臋n,支持在文檔的主線上同時(shí)有多個(gè)版本, 支持查詢?cè)谀硞€(gè)時(shí)點(diǎn)上項(xiàng)目各個(gè)文檔的狀態(tài),可用于研究生產(chǎn)效率等,也可用 于對(duì)以前的軟件發(fā)行版的再發(fā)行。 版本控制發(fā)展簡(jiǎn)史 CSSCSource?Code?Control?Syste

3、m 。是一種基本的源文件版本控制工 具,它適用于任何正文文件的版本維護(hù),它基于單一文件的版本控制,缺陷很 多,屬于元老級(jí)。 CVS Concurrent?Versions?System 。是開(kāi)放源代碼軟件世界的一個(gè)偉大 杰作,由于其簡(jiǎn)單易用、功能強(qiáng)大,跨平臺(tái),支持并發(fā)版本控制,而且免費(fèi), 它在全球中小型軟件企業(yè)中得到了廣泛使用。 二、SVN CVS 發(fā)展瓶頸 僅能處理 ASCII 文件, Unicode 文件會(huì)令 CVS 嚴(yán)重混亂, CVS 存儲(chǔ)庫(kù)更 改起來(lái)極為困難, 沒(méi)有任何關(guān)于 “移動(dòng)”操作的概念,不會(huì)連接兩個(gè)操作, 因此 也很容易使文件歷史軌跡丟失,只能滿足老式 C 程序員的 ASCII

4、 需求,而對(duì) Web開(kāi)發(fā)人員和其他非傳統(tǒng)用戶來(lái)說(shuō),CVS實(shí)際上根本不起作用。 SVN 的誕生 由于已經(jīng)處于主流技術(shù)平臺(tái)的 cvs隨著應(yīng)用范圍的擴(kuò)大,逐漸出現(xiàn)了如上 所述的瓶頸問(wèn)題,所以促使的下一代的源代碼管理軟件的出現(xiàn)SVN。 2000 年, CollabNet,Inc 找到了 Karl Fogel 和 Jim Blandy ,共同開(kāi)發(fā)下一 代版本控制工具。 2001 年 8 月 31 日, Subversion 雛形誕生。 2004 年初, Subversion 1.0 。 2009年,絕大多數(shù)CVS服務(wù)已經(jīng)改用SVN CVSE經(jīng)停止維護(hù)。 SVN 簡(jiǎn)介 SVN全程 Subversion,是

5、新一代的版本控制工具,正逐步替代CVS Subversion 是一種自由開(kāi)源的全新版本控制系統(tǒng),允許數(shù)據(jù)恢復(fù)到早期版本, 或者檢查數(shù)據(jù)修改歷史,稱作神奇的時(shí)間機(jī)器。支持可在本地訪問(wèn)或通過(guò)網(wǎng)絡(luò) 訪問(wèn)的數(shù)據(jù)庫(kù)和文件系統(tǒng)存儲(chǔ)庫(kù),可以在不同的電腦上操作,允許在各自的空 間里修改管理同一組數(shù)據(jù)。 SVN提供了常見(jiàn)的比較、修補(bǔ)、標(biāo)記、提交、回復(fù)和分支功能性,Subversion 還增加了追蹤移動(dòng)和刪除的能力,支持非 ASCII 文本和二進(jìn)制數(shù)據(jù),不僅對(duì)傳 統(tǒng)的編程任務(wù)非常有用,同時(shí)也適于 Web 開(kāi)發(fā)、圖書(shū)創(chuàng)作和其他在傳統(tǒng)方式下 未采納版本控制功能的領(lǐng)域,修改不是單線進(jìn)行,開(kāi)發(fā)速度快,促進(jìn)團(tuán)隊(duì)協(xié)作。 SV

6、N 優(yōu)點(diǎn) 統(tǒng)一的版本號(hào)。任何一次提交都會(huì)對(duì)所有文件增加到同一個(gè)新版本號(hào),即 使是提交并不涉及的文件。所以,各文件在某任意時(shí)間的版本號(hào)是相同的,版 本號(hào)相同的文件構(gòu)成軟件的一個(gè)版本。 原子提交 。一次提交不管是單個(gè)還是多個(gè)文件, 都是作為一個(gè)整體提交的。 在這當(dāng)中發(fā)生的意外例如傳輸中斷,不會(huì)引起數(shù)據(jù)庫(kù)的不完整和數(shù)據(jù)損壞。 重命名、復(fù)制、刪除文件等動(dòng)作都保存在版本歷史記錄當(dāng)中 對(duì)于二進(jìn)制文件,使用了節(jié)省空間的保存方法。(簡(jiǎn)單的理解,就是只保 存和上一版本不同之處)。 目錄也有版本歷史。整個(gè)目錄樹(shù)可以被移動(dòng)或者復(fù)制,操作很簡(jiǎn)單,而且 能夠保留全部版本記錄。 優(yōu)化過(guò)的數(shù)據(jù)庫(kù)訪問(wèn),使得一些操作不必訪問(wèn)數(shù)

7、據(jù)庫(kù)就可以做到。這樣減 少了很多不必要的和數(shù)據(jù)庫(kù)主機(jī)之間的網(wǎng)絡(luò)流量。 分支的開(kāi)銷(xiāo)非常小。 三、版本控制實(shí)戰(zhàn)操作 SVN是一個(gè)典型的C/S模式的應(yīng)用程序,擁有服務(wù)器端和客戶端程序。它可 以在 Windows環(huán)境或者Linux環(huán)境下運(yùn)行,大部分是在 Linux環(huán)境下。本文所 實(shí)戰(zhàn)的系統(tǒng)平臺(tái)為 WindowsXP。 對(duì)項(xiàng)目源代碼的管理主要應(yīng)用的是 Subversion ,與它在服務(wù)器端配合使用 的Apache,這個(gè)軟件的配置方法十分復(fù)雜不易掌握,另外還需要有 Windows Service 的一部分內(nèi)容。所以我們所選取的工具為如下所示。 實(shí)戰(zhàn)工具選擇 本教程所使用的工具軟件分為服務(wù)器端和客戶端,在客

8、戶端又分為工具和 插件,插件適合于應(yīng)用 Visual Studio 開(kāi)發(fā)應(yīng)用程序平臺(tái)的使用者。 服務(wù)器端 VisualSVN Server 2.1.3 。該工具兩個(gè)工具軟件。下載地址 為: 客戶端 TortoiseSVN .19898 。下載地址為: 客戶端(VS插件) AnkhSVN。下載地址為:。 服務(wù)器安裝 這個(gè)軟件是項(xiàng)目負(fù)責(zé)人(項(xiàng)目小組負(fù)責(zé)人、項(xiàng)目經(jīng)理)負(fù)責(zé)安裝的,雙擊 安裝文件 VisualSVN Server 2.1.3 ,一路 next 。如圖所示: 在這個(gè)部分特別注意安裝過(guò)程需要選擇服務(wù)的端口和代碼庫(kù)的位置。特別 是 Server Port 的選擇,一般情況下是系統(tǒng)默認(rèn)就行,如

9、果你系統(tǒng)中該端口已 經(jīng)被占用,那么系統(tǒng)會(huì)提示。其他情況我們選擇 8443 這個(gè)端口。另外,在選擇 身份認(rèn)證的時(shí)候,要用 Subversion 身份認(rèn)證。 最后,點(diǎn)擊 Finish 結(jié)束服務(wù)器的安裝。 服務(wù)器架設(shè) 啟動(dòng) VisualSVN Server 架設(shè)服務(wù)器,步驟如下: Step1 在控制區(qū)的 Repositorise 處右擊,選擇彈出菜單中的新建版本 庫(kù)。 在這個(gè)綠框里,如果勾選的話,系統(tǒng)會(huì)在版本庫(kù)中自動(dòng)創(chuàng)建 trunk 、 branches 、tags 三個(gè)文件夾。 Step2 為版本庫(kù)創(chuàng)建用戶。在控制區(qū)的 Users 處右擊,選擇彈出菜單中 的新建用戶。 Step3 為版本庫(kù)創(chuàng)建用戶

10、組。在控制區(qū)的 Groups 處右擊,選擇彈出菜 單中的新建用戶組。 Step4 為版本庫(kù)添加用戶或者用戶組,并設(shè)置各個(gè)用戶的權(quán)限 客戶端安裝 TortoiseSVN .19898 該軟件是開(kāi)發(fā)人員在各自的計(jì)算機(jī)上安裝的,雙擊 TortoiseSVN .19898 , 一路 next 安裝即可,時(shí)間比較長(zhǎng)。最后提示需要重啟計(jì)算機(jī),不重啟也沒(méi)有關(guān) 系。 AnkhSVN Visual Studio 插件AnkhSVN的安裝也是一路 next,不過(guò)這個(gè)軟件是不需 要你來(lái)選擇安裝路徑的,前提是必須提前安裝好 VS2008安裝完成后,如何測(cè) 試是否已經(jīng)裝好AnkhSVNT呢,方法如下: 簽入文件(源代碼

11、) 前提條件,版本庫(kù) Test 創(chuàng)建完畢。簽入文件的模式分為兩種:標(biāo)準(zhǔn)模式和 VS模式。在標(biāo)準(zhǔn)模式中又有兩種方法,下面 介紹,首先 : 標(biāo)準(zhǔn)模式方法一 Stepl 在服務(wù)器端,找到需要簽入的源代碼文件夾,右擊選擇 TortoiseSVN Import ,簽入該文件夾下的源代碼。 Step2 選擇版本庫(kù)的 URL該URL在VisualSVN Server中該版本庫(kù)的狀 態(tài)區(qū)。 Step3 身份驗(yàn)證。該身份驗(yàn)證的用戶和密碼為,在創(chuàng)建該版本庫(kù)過(guò)程中 創(chuàng)建可以訪問(wèn)該庫(kù)的任意一個(gè)用戶,原則上是項(xiàng)目經(jīng)理等來(lái)規(guī)劃項(xiàng)目的負(fù)責(zé)人 所創(chuàng)建的項(xiàng)目程序框架,單擊 0K即可。 源代碼與版本庫(kù)連接上了,同時(shí),在 Visu

12、alSVN Server 中刷新控制區(qū),可 以看到該版本庫(kù)的狀態(tài)去出現(xiàn)許多文件。 注意,這個(gè)方法簽入的源代碼文件是作為原版出現(xiàn)的,所以該文件夾沒(méi)有 TortoiseSVN 的重載圖標(biāo)。 標(biāo)準(zhǔn)模式方法二 Stepl在任意處新建一個(gè)空白文件夾,并命名 WorkCopy_Somebody并 右擊,選擇 SVN Checkout。 Step2選擇相應(yīng)的版本庫(kù)服務(wù)器地址,并輸入用戶名和密碼。下載最新 (最初)版本庫(kù)內(nèi)容。 生成一個(gè)隱藏的文件夾,該文件夾即為版本庫(kù),其中存儲(chǔ)著最新版本庫(kù)的 內(nèi)容,即已經(jīng)改動(dòng)過(guò)的文件的日期、用戶和改動(dòng)內(nèi)容等等。 Step3 將源代碼或者程序框架復(fù)制到該文件夾中,特別要注意的是

13、,一 定要選擇Commit發(fā)送(右擊空白處,選擇 Commit)。 該過(guò)程是出現(xiàn) TortoiseSVN 重載圖標(biāo)的。 VS 模式 這個(gè)模式主要涉及的是應(yīng)用 VS2005 / 2008 開(kāi)發(fā)應(yīng)用程序的用戶的。 前提條件是,必須安裝好VS插件AnkhSVN在VS環(huán)境中簽入版本庫(kù)的方法 如下: Stepl 在VS2008中創(chuàng)建空白解決方案,簽入版本庫(kù)。特別注意,要勾 選Add to Subversion。輸入版本庫(kù)服務(wù)器地址,然后 Commit這個(gè)空白的解決 方案。 Step2創(chuàng)建項(xiàng)目,并添加到空白解決方案,并Commit 以上步驟完成了在VS里將源代碼簽入到版本庫(kù)中的操作。 簽出文件(源代碼)

14、這個(gè)操作是針對(duì)程序員,也就是客戶來(lái)說(shuō)的。項(xiàng)目的各個(gè)小組成員將最新 版本的程序下載到本地機(jī),根據(jù)負(fù)責(zé)的不同功能模塊對(duì)程序進(jìn)行修改,然后實(shí) 時(shí)的將修改過(guò)的文件Commit到版本庫(kù),更新版本。整個(gè)過(guò)程類(lèi)似簽入文件中的 標(biāo)準(zhǔn)模式方法二。同樣是在本地機(jī)新建一個(gè)工作拷貝,作為自己今后的工作文 件夾;右擊空白處,SVN Checkout,下載最新的版本;對(duì)程序進(jìn)行修改并上傳。 四、簡(jiǎn)易流程 使用的軟件有服務(wù)器端VisualSVN2.1.3 使用步驟 項(xiàng)目經(jīng)理架設(shè)服務(wù)器端,使用VisualSVN2.1.3。 建版本庫(kù)。 建用戶,給用戶分組。 為版本庫(kù)添加用戶并設(shè)置權(quán)限。 項(xiàng)目經(jīng)理創(chuàng)建程序架構(gòu) 在文件夾里右擊,SVN checkout,下載最新版本庫(kù)。 在該文件夾下創(chuàng)建程序框架,或者把已經(jīng)創(chuàng)建好的源代碼拷貝到該文件夾下。 將源代碼發(fā)送至服務(wù)器端。右擊文件夾空白處,Summit,即把源代碼發(fā)送至服務(wù)器端 程序員下載源代碼,使用TortoiseSVN.19898 在客戶機(jī)上安裝 TortoiseSVN.19898。 在客戶機(jī)上創(chuàng)建一個(gè)項(xiàng)目文件夾,用來(lái)存放項(xiàng)目源代碼。 在該文件夾下右擊,SVN checkout,下載最新的版本庫(kù)文件,即源代碼。 程序員上傳源代碼 代碼編輯完后,在改動(dòng)的文件上右擊,Summit,即向服務(wù)器發(fā)送數(shù)據(jù)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論