SVN本管理規(guī)范_第1頁
SVN本管理規(guī)范_第2頁
SVN本管理規(guī)范_第3頁
SVN本管理規(guī)范_第4頁
SVN本管理規(guī)范_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、通聯(lián)支付網(wǎng)絡(luò)服務(wù)股份有限公司技術(shù)支持中心研發(fā)部版本管理規(guī)范受理市場(chǎng)支持部2011年1月版本控制信息版本日期擬稿和修改說明1.02010-12-6劉志毅擬稿發(fā)布1.12011-1-7劉志毅增加了郵件通知1.22011-1-25劉志毅重新編寫了管理規(guī)范1.32011-1-28沈德權(quán)補(bǔ)充了郵件通知接受方和上線版本的編譯流程詳見2.3、2.4和章節(jié)1.42011-2-16劉志毅補(bǔ)充了緊急變更方案,詳見目錄文檔類別使用對(duì)象41引言41.1目的41.2范圍41.3術(shù)語定義42版本管理621版本標(biāo)識(shí)方法6211版本標(biāo)識(shí)說明622目錄結(jié)構(gòu)623版本的存放72.3.1 trunk72.3.2 branches7

2、2.3.3 tags72.3.4 files72.3.5 script72.3.6 sql824權(quán)限控制管理83更新管理(版本升級(jí))83.1版本升級(jí)原則83.2 新版本的發(fā)布83.2.1 版本管理流程說明83.2.2 版本管理簡略流程圖93.2.3 角色定位說明93.2.4 版本管理守則104備份管理105SVN常用命令說明10文檔類別使用對(duì)象文檔類別該文檔是為技術(shù)支持中心提供一個(gè)版本管理規(guī)范性文件。使用對(duì)象該文檔使用對(duì)象為技術(shù)支持中心研發(fā)部版本管理人員,以及其他相關(guān)人員。未經(jīng)許可,該文檔不得提供給上述規(guī)定對(duì)象以外的人員閱讀或使用。1引言1.1目的本文檔是為規(guī)范技術(shù)支持中心研發(fā)版本管理而制定的

3、。1.2范圍本文檔為研發(fā)部各人員提供有關(guān)版本管理規(guī)范的相關(guān)內(nèi)容,包括:1. l版本標(biāo)識(shí)方法2. l版本管理流程3. l角色定位4. lSVN常用命令說明1.3術(shù)語定義SVNSvn是一個(gè)開源的版本控制系統(tǒng)Subversion的簡稱文檔上線所需的相關(guān)文檔,包括部署手冊(cè),源碼修改清單列表等腳本上線所需的相關(guān)腳本,包括編譯腳本等SQL語句上線所需的相關(guān)SQL語句,包括建表語句等配置管理標(biāo)識(shí)和確定系統(tǒng)中配置項(xiàng)的過程,在系統(tǒng)整個(gè)生存周期內(nèi)控制這些項(xiàng)的投放和更動(dòng),記錄并報(bào)告配置的狀態(tài)和更動(dòng)要求,驗(yàn)證配置項(xiàng)的完整性和正確性。軟件配置軟件的具體形態(tài)在某時(shí)刻的瞬時(shí)影像。配置項(xiàng)軟件配置管理的對(duì)象稱為配置項(xiàng),如:源碼

4、?;€軟件生存周期中各開發(fā)階段末尾的標(biāo)記,它的作用是把各階段工作的劃分更加明確化,使本來連續(xù)的工作在這些點(diǎn)上斷開,使之便于檢驗(yàn)和肯定階段成果。郵件服務(wù)需求轉(zhuǎn)達(dá),標(biāo)簽轉(zhuǎn)達(dá)時(shí)候,需要發(fā)送郵件通知對(duì)方或者回復(fù)對(duì)方版本控制通過svn co把分支文件夾拷貝到開發(fā)環(huán)境進(jìn)行開發(fā),并進(jìn)行版本控制版本管理根據(jù)需求,創(chuàng)建開發(fā)所需的分支標(biāo)簽管理為測(cè)試版本,上線版本創(chuàng)建標(biāo)簽版本更新通過svn ci定期備份修改內(nèi)容,或通過svn update更新當(dāng)前所開發(fā)的源碼,或通過svn merge把主干新增內(nèi)容更新至分支版本測(cè)試通過svn export校驗(yàn)源碼,進(jìn)行源碼的比對(duì),測(cè)試版本修復(fù)對(duì)當(dāng)前測(cè)試或上線版本出現(xiàn)的問題進(jìn)行修復(fù)版

5、本沖突由于修改了同一個(gè)文件,所以svn ci,svn merge以及svn up時(shí)會(huì)報(bào)錯(cuò),造成了版本沖突問題。2版本管理21版本標(biāo)識(shí)方法為了使工作規(guī)范化、統(tǒng)一化,各系統(tǒng)實(shí)行的版本標(biāo)識(shí)管理方法分為:上線版本,測(cè)試版本,修復(fù)版本,文檔版本,腳本版本以及sql語句版本。211版本標(biāo)識(shí)說明上線版本:在生產(chǎn)環(huán)境上運(yùn)行的正式版本。測(cè)試版本:在UAT環(huán)境上運(yùn)行的測(cè)試版本。修復(fù)版本:在生產(chǎn)環(huán)境上用于修復(fù)當(dāng)前版本的補(bǔ)丁版本。 以“acc”開頭,版本號(hào)放后。版本號(hào)分2節(jié):主版本號(hào)為上線時(shí)間點(diǎn),由3節(jié)組成,每節(jié)之間以小數(shù)點(diǎn)(.)間隔。如表示主版本號(hào)為,上線時(shí)間為2011年1月26日,次版本號(hào)為修復(fù)版和測(cè)試版本的組合

6、_patch1,主版本為11.01.26,次版本號(hào)為patch1,說明該版本為1次修復(fù)版本,如acc_11.01.26_test1,說明該版本為1次測(cè)試版本,如acc_11.01.26_patch1_test1,說明該版本為1次修復(fù)版本的1次測(cè)試版本。文檔版本:上線版本對(duì)應(yīng)的相關(guān)文檔。以“file”開頭,版本號(hào)放后。就一個(gè)主版本號(hào),為上線時(shí)間點(diǎn),如,指文檔為上線版本的文檔。注:文檔名必須是英文+數(shù)字組成,暫不支持中文名腳本版本:上線版本對(duì)應(yīng)的相關(guān)腳本。以”spt”為開頭,版本號(hào)放后,就一個(gè)主版本號(hào),為上線時(shí)間點(diǎn),如spt_11.01.26,指腳本為上線版本的腳本sql語句版本:上線版本對(duì)應(yīng)的s

7、ql語句。以“sql”為開頭,版本號(hào)放后。就一個(gè)主版本號(hào),為上線時(shí)間點(diǎn),如,指sql語句為上線版本的sql語句。22目錄結(jié)構(gòu)現(xiàn)以其中一個(gè)庫名的目錄結(jié)構(gòu)舉例如下:23目錄說明以子系統(tǒng)類別為主目錄(即庫名)。庫名子系統(tǒng)說明apsbmAPSBMapsbat清分清算apsms商戶服務(wù)平臺(tái)商戶服務(wù)平臺(tái)apsrisk_backAPSRisk_Back風(fēng)險(xiǎn)管理系統(tǒng)(后臺(tái))apsonlTGPnspNSPtpospTPOSPcommfe通訊前置alipay支付寶前置bank銀行前置apsrptAPSRPT統(tǒng)計(jì)報(bào)表pospPOSPtest測(cè)試使用apmsAPMS商戶管理系統(tǒng)目前暫不采用SVN管理apsrisk_f

8、rontAPSRisk_Front風(fēng)險(xiǎn)管理系統(tǒng)(前端).NET目前暫不采用SVN管理 trunk主干文件夾,存放的是當(dāng)前系統(tǒng)的最新源碼2.3.2 branches分支文件夾,存放的是當(dāng)前開發(fā)和歷史開發(fā)的分支文件夾的源碼。 tags標(biāo)簽文件夾,存放的是當(dāng)前上線版本和歷史版本的源碼。2.3.4 files 文檔文件夾,存放的是當(dāng)前上線版本和歷史版本的相關(guān)文檔。2.3.5 script腳本文件夾,存放的是當(dāng)前上線版本和歷史版本的相關(guān)腳本。2.3.6 sqlsql語句文件夾,存放的是當(dāng)前上線版本和歷史版本的相關(guān)sql語句。24權(quán)限控制管理為保障版本的安全性,一致性,以及防止意外修改,必須對(duì)不同的文件夾

9、設(shè)置不同的訪問權(quán)限。文件夾權(quán)限類別:只讀權(quán)限,讀寫權(quán)限。用戶類別:開發(fā)人員、測(cè)試人員、配置管理員、QA、項(xiàng)目經(jīng)理等。為了控制不同的使用權(quán)限,根據(jù)要求在服務(wù)器上分別建立不同的用戶,針對(duì)不同的配置項(xiàng)所在目錄分配不同的權(quán)限。為了便于管理,應(yīng)以表格的形式列出人員與管理對(duì)象的訪問關(guān)系(用戶權(quán)限清單)。3更新管理(版本升級(jí))3.1版本升級(jí)原則版本升級(jí)應(yīng)嚴(yán)格納入版本管理的控制之下。應(yīng)當(dāng)謹(jǐn)慎地控制版本的升級(jí),保障高版本的向下兼容性,或提供嚴(yán)格定義的升級(jí)方法。在下面幾種情況下,進(jìn)行版本演化和升級(jí):1. 當(dāng)系統(tǒng)有重大的需求,需要較大的改進(jìn)或修改時(shí),主版本號(hào)為新版本上線時(shí)間點(diǎn)。2. 當(dāng)系統(tǒng)有重大的BUG問題時(shí),次版

10、本要添加patch1。3. 對(duì)于改動(dòng)量比較少的,如修復(fù)小問題之類的,可以從當(dāng)前正在開發(fā)分支支中,進(jìn)行改進(jìn)或修改,和下一個(gè)新版本一起上線。4. 記錄版本升級(jí)過程。每次版本升級(jí),都要填寫版本升級(jí)記錄表。3.2 新版本的發(fā)布3.2.1 版本管理流程說明1. 需求和上線點(diǎn)確認(rèn)后,開發(fā)人員以郵件通知版本管理員,郵件內(nèi)容包含以下要素:上線點(diǎn)時(shí)間,開發(fā)系統(tǒng),開發(fā)內(nèi)容等。版本管理員根據(jù)上線點(diǎn),在對(duì)應(yīng)的版本庫下創(chuàng)建分支文件夾,并以郵件回復(fù)給開發(fā)人員。 2. 開發(fā)人員根據(jù)版本管理員提供的分支文件名從版本庫的分支文件夾內(nèi)checkout到開發(fā)服務(wù)器建立版本控制,進(jìn)行程序開發(fā)。3. 開發(fā)人員開發(fā)完成后,把分支文件夾提

11、交到版本庫,然后從版本庫中checkout出主干的工作拷貝,并把版本庫中最新的分支文件合并至主干的工作拷貝,合并完成后,進(jìn)行diff的比對(duì),確認(rèn)沒問題后,最后把主干的工作拷貝提交至版本庫。4. 開發(fā)人員以郵件通知版本管理員,告知當(dāng)前開發(fā)的分支已經(jīng)完成,并已更新至主干中,同時(shí)郵件內(nèi)容必須含有:部署手冊(cè),源碼修改清單等相關(guān)文檔,編譯腳本,SQL語句。版本管理員把當(dāng)前主干版本創(chuàng)建標(biāo)簽文件夾,記錄當(dāng)前測(cè)試版本,以郵件回復(fù)給環(huán)境管理員、測(cè)試人員、開發(fā)人員、QA和項(xiàng)目經(jīng)理,并附帶相關(guān)文件。5. 環(huán)境管理員根據(jù)版本管理員提供的測(cè)試標(biāo)簽export至測(cè)試服務(wù)器進(jìn)行版本測(cè)試,根據(jù)部署手冊(cè),源碼修改清單等文檔對(duì)源

12、碼比對(duì),部署完成后,通知測(cè)試人員做功能測(cè)試等。6. 測(cè)試完成,測(cè)試人員以郵件通知版本管理員,版本管理員把測(cè)試標(biāo)簽創(chuàng)建為上線標(biāo)簽,以郵件回復(fù)給開發(fā)人員、測(cè)試人員、環(huán)境管理員、QA和項(xiàng)目經(jīng)理,并附帶相關(guān)文件,準(zhǔn)備上線。7. 核心系統(tǒng):開發(fā)人員用上線標(biāo)簽的源碼進(jìn)行編譯后,再針對(duì)上線內(nèi)容進(jìn)行測(cè) 試,通過后,提交上線包,相關(guān)文檔給運(yùn)行部上線。管理系統(tǒng):開發(fā)人員,提交測(cè)試通過的上線包,相關(guān)文檔給運(yùn)行部上線。(序號(hào)對(duì)應(yīng)以下版本管理流程圖)8. 測(cè)試未通過,開發(fā)人員對(duì)代碼進(jìn)行二次開發(fā),待開發(fā)完成后,重復(fù)以上步驟4-7,直至上線緊急變更方案觸發(fā)條件:下一個(gè)上線版本已經(jīng)并入了主干,需要在下一個(gè)上線版本前插入一個(gè)補(bǔ)

13、丁版本。1. 變更需求和上線點(diǎn)確認(rèn)后,開發(fā)人員以郵件通知版本管理員,郵件內(nèi)容包含以下要素:上線點(diǎn)時(shí)間,開發(fā)系統(tǒng),開發(fā)內(nèi)容等。版本管理員根據(jù)上線點(diǎn),在對(duì)應(yīng)的版本庫下創(chuàng)建分支文件夾(分支名為acc_xx.xx.xx_patch1),并以郵件回復(fù)給開發(fā)人員。2. 開發(fā)人員根據(jù)版本管理員提供的分支文件名從版本庫的分支文件夾內(nèi)checkout到開發(fā)服務(wù)器建立版本控制,進(jìn)行程序開發(fā)。3. 開發(fā)人員開發(fā)完成后,把分支文件夾提交到版本庫,以郵件通知版本管理員,告知當(dāng)前開發(fā)的分支已經(jīng)完成,同時(shí)郵件內(nèi)容必須含有:部署手冊(cè),源碼修改清單等相關(guān)文檔,編譯腳本,SQL語句。版本管理員把分支版本創(chuàng)建標(biāo)簽文件夾,記錄當(dāng)前測(cè)

14、試版本(測(cè)試標(biāo)簽:acc_xx.xx.xx_patch1_test1),以郵件回復(fù)給環(huán)境管理員、測(cè)試人員、開發(fā)人員、QA和項(xiàng)目經(jīng)理,并附帶相關(guān)文件。4. 環(huán)境管理員根據(jù)版本管理員提供的測(cè)試標(biāo)簽export至測(cè)試服務(wù)器進(jìn)行版本測(cè)試,根據(jù)部署手冊(cè),源碼修改清單等文檔對(duì)源碼比對(duì),部署完成后,通知測(cè)試人員做功能測(cè)試等。5. 測(cè)試完成,測(cè)試人員以郵件通知版本管理員,版本管理員把測(cè)試標(biāo)簽創(chuàng)建為上線標(biāo)簽,以郵件回復(fù)給開發(fā)人員、測(cè)試人員、環(huán)境管理員、QA和項(xiàng)目經(jīng)理,并附帶相關(guān)文件,準(zhǔn)備上線。6. 上線成功后,開發(fā)人員把緊急修復(fù)的分支()合并入下一個(gè)上線版本的分支內(nèi),合并后無任何沖突,再提交到版本庫,然后從版本

15、庫中checkout出主干的工作拷貝,并把版本庫中最新的分支文件合并至主干的工作拷貝,合并完成后,進(jìn)行diff的比對(duì),確認(rèn)沒問題后,最后把主干的工作拷貝提交至版本庫。7. 重復(fù)以上步驟4-7,直至上線3.2.2 版本管理簡略流程圖3.2.3 角色定位說明開發(fā)人員需要做:郵件服務(wù),版本控制,配置項(xiàng),文檔,腳本,SQL語句,版本更新,版本修復(fù),版本沖突測(cè)試人員需要做:郵件服務(wù),版本編譯,版本測(cè)試版本管理人員需要做:郵件服務(wù),配置管理,基線,版本管理,標(biāo)簽管理3.2.4 開發(fā)守則u 請(qǐng)開發(fā)人員嚴(yán)格執(zhí)行規(guī)范中的制定的版本管理流程。u 上線前,必須準(zhǔn)備好相應(yīng)的文檔,腳本,SQL語句,以便測(cè)試人員進(jìn)行正確

16、的測(cè)試。u 在源碼開發(fā)中的修改或者改進(jìn)的地方,必須增加注釋部分,以便測(cè)試人員進(jìn)行正確的校驗(yàn)u 在多人對(duì)同一個(gè)分支開發(fā)時(shí),需要做好定期check in,以保證源碼無沖突u 分支完成單元測(cè)試,進(jìn)行集成測(cè)試時(shí),才可合并入主干,如果要自己做集成測(cè)試,則可以把主干合并入分支進(jìn)行測(cè)試。u 在多個(gè)分支開發(fā)的情況下,后上線的分支必須等前上線的分支合并入主干后測(cè)試通過了,再可并入主干u 后上線的分支必須定期從主干合并入分支文件夾,以保證當(dāng)前開發(fā)的源碼是以最新上線包的基礎(chǔ)上開發(fā)的。u 在本地的工作拷貝中合并入主干后,再用其與版本庫的主干進(jìn)行源碼比對(duì),確保沒有任何問題之后,再check in到版本庫中。4備份管理為

17、了保證文檔的最大可恢復(fù)性,要隨時(shí)及定期地進(jìn)行備份工作。1、 隨時(shí)備份:(1) 開發(fā)人員每天都要將自已當(dāng)日修改的源文件在本地機(jī)器上進(jìn)行備份。(2) 開發(fā)負(fù)責(zé)人每天要將所有源文件在本地機(jī)備份。(3) 建議備份采用循環(huán)備份。2、 定期備份(1) 備份形式為硬盤備份和光盤備份。硬盤備份時(shí),要備份在獨(dú)立的硬盤上;光盤備份時(shí),要將光盤存放在可靠的地方。(2) 備份周期視各系統(tǒng)的具體情況而定。如果處于開發(fā)階段,每周應(yīng)對(duì)所有的源程序項(xiàng)進(jìn)行備份,一般為每周周五;如果處于其它階段,根據(jù)具體情況而定,但周期不能超過兩周。(3) 備份要由版本管理員負(fù)責(zé),備份原則應(yīng)是保證文檔的最大可恢復(fù)性。(4) 對(duì)于歷史版本或某用戶

18、的特殊版本,如果無特殊原因不再進(jìn)行修改的話,建議用光盤進(jìn)行備份,而且應(yīng)有備份盤說明文件BACKUP.TXT。該文件應(yīng)該記錄以下內(nèi)容:本次備份時(shí)間,備份內(nèi)容,執(zhí)行人。5SVN常用命令說明svn checkout命令簡寫svn co概要svn checkout URLREV. PATH描述從版本庫取出一個(gè)工作拷貝。改變創(chuàng)建一個(gè)工作拷貝。選項(xiàng):-revision (-r) REV-quiet (-q)-depth ARG-force-accept ARG-username USER-password PASS-no-auth-cache-non-interactive-ignore-external

19、s-config-dir DIR用途:版本控制例子:$ svn /apsbat/branches/A/aA/bA/cA/dChecked out revision 20.$ lssvn commit命令簡寫svn ci概要svn commit PATH.描述將修改從工作拷貝發(fā)送到版本庫。改變工作拷貝,版本庫選項(xiàng):-message (-m) TEXT-file (-F) FILE-quiet (-q)-no-unlock-non-recursive (-N)-targets FILENAME-force-log-username USER-password PASS-no-auth-cache-

20、non-interactive-encoding ENC-config-dir DIR用途:版本更新例子:$ svn ci m “備注信息” Sending e.dll(修改的文件)Transmitting file data.Committed revision 21.svn update命令簡寫svn up概要svn update PATH.描述會(huì)把版本庫的修改帶到工作拷貝,如果沒有給定修訂版本,它會(huì)把你的工作拷貝更新到HEAD修訂版本,否則,它會(huì)把工作拷貝更新到你用-revision指定的修訂版本。為了保持同步,svn update也會(huì)刪除所有在工作拷貝發(fā)現(xiàn)的無效鎖定對(duì)于每一個(gè)更新的項(xiàng)目

21、開頭都有一個(gè)表示所做動(dòng)作的字符,這些字符有下面的意思:A添加D刪除U更新C沖突G合并第一列的字符反映文件本身的更新,而第二列會(huì)反映文件屬性的更新。改變工作拷貝2選項(xiàng):-revision (-r) REV-non-recursive (-N)-quiet (-q)-no-ignore-incremental-diff3-cmd CMD-username USER-password PASS-no-auth-cache-non-interactive-config-dir DIR-ignore-externals用途:版本更新例子:$ svn upg.txtUpdated to revision

22、22.svn merge命令簡寫svn merge概要svn merge sourceURL1N sourceURL2M WCPATHsvn merge sourceWCPATH1N sourceWCPATH2M WCPATHsvn merge -r N:M SOURCEREV WCPATH(最常用)描述第一種和第二種形式里,源路徑(第一種是URL,第二種是工作拷貝路徑)用修訂版本號(hào)N和M指定,這是要比較的兩組源文件,如果省略修訂版本號(hào),缺省是HEAD。 第三種形式,SOURCE可以是URL或者工作拷貝項(xiàng)目,與之對(duì)應(yīng)的URL會(huì)被使用。在修訂版本號(hào)N和M的URL定義了要比較的兩組源。WCPATH

23、是接收變化的工作拷貝路徑,如果省略WCPATH,會(huì)假定缺省值“.”,除非源有相同基本名稱與“.”中的某一文件名字匹配:在這種情況下,區(qū)別會(huì)應(yīng)用到那個(gè)文件。 不像svn diff,合并操作在執(zhí)行時(shí)會(huì)考慮文件的祖先,當(dāng)你從一個(gè)分支合并到另一個(gè)分支,而這兩個(gè)分支有各自重命名的文件時(shí),這一點(diǎn)會(huì)非常重要。 改變工作拷貝選項(xiàng):-revision (-r) REV-non-recursive (-N)-quiet (-q)-force-dry-run-diff3-cmd CMD-ignore-ancestry-username USER-password PASS-no-auth-cache-non-int

24、eractive-config-dir DIR用途:版本更新例子:將一個(gè)分支合并回主干(假定你有一份主干的工作拷貝,分支在修訂版本250創(chuàng)建):$ svn co svn:/9/apsbat/trunk(首先建立主干的工作拷貝)$cd trunk$ svn merge -r 250:255 (比較的250版本和255版本之間的差別,應(yīng)用到主干的工作拷貝中)U trunk/tiny.txtU trunk /thhgttg.txtU trunk /win.txt如果你的分支在修訂版本23,你希望將主干的修改合并到分支,你可以在你的工作拷貝的分支上這樣做: $ svn merge

25、 -r 23:30 U svn resolved命令簡寫svn resolved概要svn resolved PATH. 描述刪除工作拷貝文件或目錄的“conflicted”狀態(tài)。這個(gè)程序不是語義上的改變沖突標(biāo)志,它只是刪除沖突相關(guān)的人造文件,從而重新允許提交;也就是說,它告訴Subversion沖突已經(jīng)“解決了”。改變工作拷貝選項(xiàng):-targets FILENAME-recursive (-R)-quiet (-q)-config-dir DIR用途:版本沖突例子:如果你在更新時(shí)得到?jīng)_突,你的工作拷貝會(huì)產(chǎn)生三個(gè)新的文件:$ svn updateC foo.cUpdated to revisi

26、on 31.$ lsfoo.cC表示沖突,說明服務(wù)器上的改動(dòng)同你的改動(dòng)沖突了,你需要自己手工去解決。如果你遇到?jīng)_突,三件事你可以選擇: “手動(dòng)”合并沖突文本(檢查和修改文件中的沖突標(biāo)志)。 用某一個(gè)臨時(shí)文件覆蓋你的工作文件。 運(yùn)行svn revert 來放棄所有的修改。當(dāng)你解決了foo.c的沖突,并且準(zhǔn)備提交,運(yùn)行svn resolved讓你的工作拷貝知道你已經(jīng)完成了所有事情。簡單介紹下手工合并沖突:這里一個(gè)簡單的例子,由于不良的交流,你和同事ttl,同時(shí)編輯了sandwich.txt。ttl提交了修改,當(dāng)你準(zhǔn)備更新你的版本,沖突發(fā)生了,我們不得不去修改sandwich.txt來解決這個(gè)問題。

27、首先,看一下這個(gè)文件:$ cat sandwich.txtTop piece of breadMayonnaiseLettuceTomatoProvolone .r2Creole MustardBottom piece of bread小于號(hào)、等于號(hào)和大于號(hào)串是沖突標(biāo)記,并不是沖突的數(shù)據(jù),你一定要確定這些內(nèi)容在下次提交之前得到刪除,前兩組標(biāo)志中間的內(nèi)容是你在沖突區(qū)所做的修改: .r2通常你并不希望只是刪除沖突標(biāo)志和ttl的修改當(dāng)他收到三明治時(shí),會(huì)非常的吃驚。所以你應(yīng)該走到她的辦公室或是拿起電話告訴ttl,你沒辦法從從意大利熟食店得到想要的泡菜。一旦你們確認(rèn)了提交內(nèi)容后,修改文件并且刪除沖突標(biāo)志

28、。Top piece of breadMayonnaiseLettuceTomatoProvoloneSalamiMortadellaProsciuttoCreole MustardBottom piece of bread現(xiàn)在運(yùn)行svn resolved,你已經(jīng)準(zhǔn)備好提交了:$ svn resolved sandwich.txt$ svn commit -m Go ahead and use my sandwich, discarding ttls edits.記住,如果你修改沖突時(shí)感到混亂,你可以參考subversion生成的三個(gè)文件包括你未作更新的文件。你也可以使用第三方的合并工具檢驗(yàn)這

29、三個(gè)文件。 svn export命令簡寫svn export概要svn export -r REV URLPEGREV PATHsvn export -r REV PATH1PEGREV PATH2描述第一種從版本庫導(dǎo)出干凈工作目錄樹的形式是指定URL,如果指定了修訂版本REV,會(huì)導(dǎo)出相應(yīng)的版本,如果沒有指定修訂版本,則會(huì)導(dǎo)出HEAD,導(dǎo)出到PATH。如果省略PATH,URL的最后一部分會(huì)作為本地目錄的名字。從工作拷貝導(dǎo)出干凈目錄樹的第二種形式是指定PATH1到PATH2,所有的本地修改將會(huì)保留,但是不再版本控制下的文件不會(huì)拷貝。改變本地磁盤選項(xiàng):-revision (-r) REV-quie

30、t (-q)-force-username USER-password PASS-no-auth-cache-non-interactive-non-recursive-config-dir DIR-native-eol EOL-ignore-externals用途:版本測(cè)試?yán)樱簭陌姹編鞂?dǎo)出目錄(打印所有的文件和目錄):$ svn export A /testA /quizExported revision 15.svn log命令簡寫svn log概要svn log PATHsvn log URL PATH.描述缺省目標(biāo)是你的當(dāng)前目錄的路徑,如果沒有提供參數(shù),svn log會(huì)顯示當(dāng)前目錄下

31、的所有文件和目錄的日志信息,你可以通過指定路徑來精煉結(jié)果,一個(gè)或多個(gè)修訂版本,或者是任何兩個(gè)的組合。對(duì)于本地路徑的缺省修訂版本范圍BASE:1。 如果你只是指定一個(gè)URL,就會(huì)打印這個(gè)URL上所有的日志信息,如果添加部分路徑,只有這條路徑下的URL信息會(huì)被打印,URL缺省的修訂版本范圍是HEAD:1。改變無選項(xiàng):-revision (-r) REV-quiet (-q)-verbose (-v)-targets FILENAME-stop-on-copy-incremental-limit NUM-xml-username USER-password PASS-no-auth-cache-non-interactive-config-dir DIR用途:查看版本信息,做合并參考例子:$ svn log-r20 | harry | 2003-01-17 22:56:19 -0600 (Fri, 17 Jan 2003) | 1 lineTweak.(-m的備注信息)-r17 | sally | 2003-01-16 23:21:19 -0600 (Thu, 16 Jan 2003) | 2 linessvn list命令簡寫svn ls概要sv

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論