網(wǎng)絡(luò)環(huán)境編程規(guī)范版本控制_第1頁(yè)
網(wǎng)絡(luò)環(huán)境編程規(guī)范版本控制_第2頁(yè)
網(wǎng)絡(luò)環(huán)境編程規(guī)范版本控制_第3頁(yè)
網(wǎng)絡(luò)環(huán)境編程規(guī)范版本控制_第4頁(yè)
網(wǎng)絡(luò)環(huán)境編程規(guī)范版本控制_第5頁(yè)
已閱讀5頁(yè),還剩23頁(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、華東師范大學(xué)華東師范大學(xué)課程名稱:課程名稱: 軟件開(kāi)發(fā)實(shí)踐軟件開(kāi)發(fā)實(shí)踐 Software Development Practice 課程類型:課程類型: 實(shí)踐課實(shí)踐課第七講:第七講: 開(kāi)發(fā)規(guī)范和開(kāi)發(fā)規(guī)范和SVNLect_07: SVN主講主講: 軟件學(xué)院 陳良育博士陳良育博士日期: 2011.07.022022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen21.網(wǎng)絡(luò)環(huán)境說(shuō)明網(wǎng)絡(luò)環(huán)境說(shuō)明2.編程規(guī)范編程規(guī)范3.版本控制版本控制4.主要版本控制工具主要版本控制工具5.SVN(SubVersion)1.安裝安裝2.初始化初始化6. IDE插件插件2022-5-17軟件開(kāi)發(fā)實(shí)踐, Autho

2、r: LY Chen3p教室教室222,224(機(jī)房機(jī)房),226(機(jī)房機(jī)房),228p筆記本全部可以連接到筆記本全部可以連接到ECNU的無(wú)線信號(hào),可通的無(wú)線信號(hào),可通過(guò)自己的學(xué)號(hào)密碼連接過(guò)自己的學(xué)號(hào)密碼連接Internet.p連接無(wú)線信號(hào)后,得到的連接無(wú)線信號(hào)后,得到的IP為為58.198.180(181/182/184).xxx。這。這4個(gè)個(gè)C網(wǎng)網(wǎng)可以互聯(lián)??梢曰ヂ?lián)。p224/226機(jī)器可跨機(jī)房互聯(lián)。機(jī)器可跨機(jī)房互聯(lián)。p但是,兩個(gè)機(jī)房網(wǎng)絡(luò)不能和無(wú)線互聯(lián)。但是,兩個(gè)機(jī)房網(wǎng)絡(luò)不能和無(wú)線互聯(lián)。2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen4p如果有成員沒(méi)有筆記本的團(tuán)隊(duì),可以考慮

3、在如果有成員沒(méi)有筆記本的團(tuán)隊(duì),可以考慮在224/226進(jìn)行開(kāi)發(fā)。進(jìn)行開(kāi)發(fā)。p互聯(lián)時(shí),請(qǐng)最好關(guān)閉機(jī)器的防火墻和機(jī)器上的互聯(lián)時(shí),請(qǐng)最好關(guān)閉機(jī)器的防火墻和機(jī)器上的P2P軟件軟件(下載工具,影視工具等下載工具,影視工具等),以免造成網(wǎng)絡(luò)以免造成網(wǎng)絡(luò)堵塞。堵塞。p所有設(shè)備請(qǐng)使用所有設(shè)備請(qǐng)使用DHCP獲得獲得IP地址,每次開(kāi)機(jī)所地址,每次開(kāi)機(jī)所獲取的地址可能不同,所以請(qǐng)?jiān)陂_(kāi)發(fā)環(huán)境中使用獲取的地址可能不同,所以請(qǐng)?jiān)陂_(kāi)發(fā)環(huán)境中使用機(jī)器別名,而不是機(jī)器別名,而不是IP地址來(lái)作為連接條件地址來(lái)作為連接條件(在在ppt后面有介紹后面有介紹hosts文件的做法文件的做法)。2022-5-17軟件開(kāi)發(fā)實(shí)踐, Autho

4、r: LY Chen5p根據(jù)語(yǔ)言選定編程規(guī)范。根據(jù)語(yǔ)言選定編程規(guī)范。p編程規(guī)范不是一成不變的,可以根據(jù)每個(gè)公編程規(guī)范不是一成不變的,可以根據(jù)每個(gè)公司特定的要求進(jìn)行微調(diào)。司特定的要求進(jìn)行微調(diào)。p編程規(guī)范比較注重細(xì)節(jié),需要嚴(yán)謹(jǐn)細(xì)心。編程規(guī)范比較注重細(xì)節(jié),需要嚴(yán)謹(jǐn)細(xì)心。p要充分利用現(xiàn)代要充分利用現(xiàn)代IDEIDE來(lái)規(guī)范代碼外觀。來(lái)規(guī)范代碼外觀。p可參考可參考ftpftp上的參考規(guī)范。上的參考規(guī)范。2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen6p版本控制非常重要版本控制非常重要p主要作用主要作用n代碼集中管理代碼集中管理/ /備份備份n代碼多版本控制代碼多版本控制/ /比對(duì)比對(duì)/ /

5、合并合并n團(tuán)隊(duì)協(xié)作開(kāi)發(fā)團(tuán)隊(duì)協(xié)作開(kāi)發(fā)n代碼不同級(jí)別授權(quán)訪問(wèn)代碼不同級(jí)別授權(quán)訪問(wèn)n代碼自動(dòng)構(gòu)建和發(fā)布代碼自動(dòng)構(gòu)建和發(fā)布2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen7n第一代:第一代:VSS(VisualVSS(Visual Source Safe Source Safe不免費(fèi),包含在不免費(fèi),包含在Visual Studio,Visual Studio,只能在只能在windowswindows上用上用) )n第二代:第二代:CVS(ConcurrentCVS(Concurrent Version System, Version System,客戶端客戶端軟件較多,跨平臺(tái)軟件較多,

6、跨平臺(tái)) )n第三代:第三代:SubversionSubversion(SVNSVN,CVSCVS的下一代版本,跨的下一代版本,跨平臺(tái))平臺(tái))/ /VSTS(VisualVSTS(Visual Studio Team System) /IBM Studio Team System) /IBM Rational Rational ClearcaseClearcase( (巨貴巨貴) )n分布式的新一代:分布式的新一代:GitGit/Mercurial /Mercurial 2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen8n在服務(wù)端建立該項(xiàng)目的數(shù)據(jù)庫(kù),并保存你選定的項(xiàng)在服務(wù)端建立

7、該項(xiàng)目的數(shù)據(jù)庫(kù),并保存你選定的項(xiàng)目源文件的第一個(gè)版本。目源文件的第一個(gè)版本。n客戶端要獲得某源文件的修改權(quán)利,需進(jìn)行客戶端要獲得某源文件的修改權(quán)利,需進(jìn)行check out操作??蛻舳艘话忝客瓿梢粋€(gè)正確版本想進(jìn)行操作??蛻舳艘话忝客瓿梢粋€(gè)正確版本想進(jìn)行保存的時(shí)候,進(jìn)行保存的時(shí)候,進(jìn)行check in操作,將當(dāng)前版本保存操作,將當(dāng)前版本保存在服務(wù)器端上并成為最新版本。在服務(wù)器端上并成為最新版本。n任一客戶端都可以根據(jù)帳號(hào)方便地得到服務(wù)器上的任一客戶端都可以根據(jù)帳號(hào)方便地得到服務(wù)器上的文件的任意版本??衫冒姹究刂乒ぞ邔?duì)某文件的文件的任意版本。可利用版本控制工具對(duì)某文件的不同版本進(jìn)行版本比較。不同

8、版本進(jìn)行版本比較。2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen9nSVN, SVN, SubVersionSubVersion, Apache, Apache出品。出品。nSVNSVN是一個(gè)自由是一個(gè)自由/ /開(kāi)源的版本控制系統(tǒng)。在開(kāi)源的版本控制系統(tǒng)。在SubversionSubversion管理下,文件和目錄可以超越時(shí)管理下,文件和目錄可以超越時(shí)空??铡ubversionSubversion將文件存放在中心版本庫(kù)將文件存放在中心版本庫(kù)(repository)(repository)里。它可以記錄每一次文件和里。它可以記錄每一次文件和目錄的修改情況。可以籍此將數(shù)據(jù)回復(fù)到以

9、目錄的修改情況??梢约藢?shù)據(jù)回復(fù)到以前的版本,并可以查看數(shù)據(jù)的更改細(xì)節(jié)。前的版本,并可以查看數(shù)據(jù)的更改細(xì)節(jié)。2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen10pSVNSVN服務(wù)端服務(wù)端( (CollaNetCollaNet SVN Server) SVN Server)pSVNSVN客戶端客戶端( (TortoiseSVNTortoiseSVN) )pIDEIDE客戶端客戶端nEclipse(Subclipse,EclipseEclipse(Subclipse,Eclipse插件插件) )nVisual Visual Studio(AnkhSVNStudio(AnkhSVN

10、) )所有的安裝軟件在所有的安裝軟件在ftpftp上都有。上都有。http:/ Author: LY Chen11p服務(wù)器安裝過(guò)程中,可以把啟動(dòng)服務(wù)器安裝過(guò)程中,可以把啟動(dòng)svn作為作為windows服務(wù)進(jìn)行注冊(cè)服務(wù)進(jìn)行注冊(cè).安裝會(huì)自動(dòng)把安裝會(huì)自動(dòng)把svn目目錄添加到環(huán)境變量錄添加到環(huán)境變量path中。中。p先安裝服務(wù)端,再安裝客戶端??蛻舳搜b好先安裝服務(wù)端,再安裝客戶端??蛻舳搜b好后需要重啟一次??蛻舳艘趾笮枰貑⒁淮???蛻舳艘?2/64p服務(wù)端:服務(wù)列表有服務(wù)端:服務(wù)列表有2項(xiàng)服務(wù)項(xiàng)服務(wù)p客戶端:在資源管理器里面右鍵出現(xiàn)菜單客戶端:在資源管理器里面右鍵出現(xiàn)菜單2022-5-17軟件開(kāi)發(fā)

11、實(shí)踐, Author: LY Chen12n運(yùn)行運(yùn)行Subversion服務(wù)器需要首先要建立一個(gè)版服務(wù)器需要首先要建立一個(gè)版本庫(kù)(本庫(kù)(Repository).n在安裝了在安裝了Subversion服務(wù)器之后,直接運(yùn)行服務(wù)器之后,直接運(yùn)行svnadmin create e:svndemorepository n就會(huì)在目錄就會(huì)在目錄E:svndemorepository下創(chuàng)建一下創(chuàng)建一個(gè)版本庫(kù)。個(gè)版本庫(kù)。 2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen13n在目錄在目錄E:svndemorepository下下右鍵右鍵-TortoiseSVN-Create Repository

12、 here.“, 然后可以選擇版本庫(kù)模式,然后可以選擇版本庫(kù)模式, 這這里使用默認(rèn)即可,里使用默認(rèn)即可, 然后就創(chuàng)建了一系列目然后就創(chuàng)建了一系列目錄和文件。錄和文件。2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen14n配置用戶和權(quán)限配置用戶和權(quán)限nE:svndemorepositoryconfsvnserve.conf: # general # password-db=passwd 去掉這行的去掉這行的#p修改同目錄的修改同目錄的passwd文件,變成以下文件,變成以下 users chenly=123456 #可以增加多個(gè)用戶可以增加多個(gè)用戶2022-5-17軟件開(kāi)發(fā)實(shí)踐,

13、 Author: LY Chen15n啟動(dòng)啟動(dòng)n在任意目錄下運(yùn)行在任意目錄下運(yùn)行:svnserve -d -r E:svndemorepository n服務(wù)器程序就已經(jīng)啟動(dòng)了。注意不要關(guān)閉命令行服務(wù)器程序就已經(jīng)啟動(dòng)了。注意不要關(guān)閉命令行窗口,關(guān)閉窗口會(huì)把窗口,關(guān)閉窗口會(huì)把svnserve停止。停止。n或者通過(guò)服務(wù)啟動(dòng)或者通過(guò)服務(wù)啟動(dòng) 2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen16n來(lái)到想要導(dǎo)入的項(xiàng)目根目錄,在這個(gè)例子里是來(lái)到想要導(dǎo)入的項(xiàng)目根目錄,在這個(gè)例子里是E:svndemoinitproject,目錄下有一個(gè),目錄下有一個(gè)readme.txt文件:文件: n右鍵右鍵

14、-TortoiseSVN-Import. 在在URL of repository輸入輸入“svn:/localhost/trunk” 在在Import Message中輸入你的日志信息中輸入你的日志信息n完成之后目錄沒(méi)有任何變化,但數(shù)據(jù)就已經(jīng)全部完成之后目錄沒(méi)有任何變化,但數(shù)據(jù)就已經(jīng)全部導(dǎo)入到了我們剛才定義的版本庫(kù)中導(dǎo)入到了我們剛才定義的版本庫(kù)中。2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen17n配置用戶和權(quán)限配置用戶和權(quán)限nE:svndemorepositoryconfsvnserve.conf: # general # password-db=passwd 去掉這行的去

15、掉這行的#p修改同目錄的修改同目錄的passwd文件,變成以下文件,變成以下 users chenly=123456 #可以增加多個(gè)用戶可以增加多個(gè)用戶 詳細(xì)請(qǐng)參看 http:/shjy- Author: LY Chen18n取出版本庫(kù)到一個(gè)工作拷貝:取出版本庫(kù)到一個(gè)工作拷貝: n來(lái)到任意空目錄下,在本例中是來(lái)到任意空目錄下,在本例中是E:svndemowc1,運(yùn)行右鍵,運(yùn)行右鍵-Checkout,在在URL of repository中輸入中輸入svn:/localhost/trunk,這樣我們就得到了一,這樣我們就得到了一份工作拷貝。份工作拷貝。 n修改好修改好readme.txt,然后右

16、鍵,然后右鍵-Commit.,提交修改到版本庫(kù)。提交修改到版本庫(kù)。2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen19nreadme.txt上右鍵上右鍵-TortoiseSVN-Show Log,這樣我們就可以看到我們,這樣我們就可以看到我們對(duì)這個(gè)文件所有的提交。在版本對(duì)這個(gè)文件所有的提交。在版本1上右鍵上右鍵-Compare with working copy,我們,我們可以比較工作拷貝的文件和版本可以比較工作拷貝的文件和版本1的區(qū)別的區(qū)別 2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen20n分別拷貝分別拷貝features,plugins目錄到目錄到ecl

17、ipse目錄下面。重啟目錄下面。重啟eclipsen新建一個(gè)項(xiàng)目,從新建一個(gè)項(xiàng)目,從svn檢出,然后下載出檢出,然后下載出源代碼,修改后提交。源代碼,修改后提交。nMerge的時(shí)候要非常小心,不要覆蓋別人的時(shí)候要非常小心,不要覆蓋別人的代碼的代碼2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen21n2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen222022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen232022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen24n支持支持vs2005/2008/2010,setup安裝安裝n在新建一個(gè)項(xiàng)目的時(shí)候,選擇在新建一個(gè)項(xiàng)目的時(shí)候,選擇Add to Subversionn然后輸入然后輸入SVN的地址的地址2022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen252022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen262022-5-17軟件開(kāi)發(fā)實(shí)踐, Author: LY Chen27nSVN默認(rèn)端口是默認(rèn)端口是3690。n大家的機(jī)器最好把防火墻關(guān)

溫馨提示

  • 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)論