TORTOISESVN使用方法_第1頁
TORTOISESVN使用方法_第2頁
TORTOISESVN使用方法_第3頁
TORTOISESVN使用方法_第4頁
TORTOISESVN使用方法_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、TortoiseSVN使用簡介TortoiseSVN使用簡介2009-04-24 來源:dev.idv.tw«1安裝及下載client端«2 什么是 SVN (Subversion ) ?«3為甚么要用SVN?«4怎么樣在Windows下面建立SVN Repository ?«5建立一個Working目錄«6新增檔案及目錄到 Repository 中«7更新檔案及目錄«8更新至特定版本9復(fù)制檔案及目錄«10 制作 Tag 或是 Release«11快速參考11.1取得(Checkout)Repo

2、sitory11.2更新(Update)檔案或目錄*11.3新增(Add)檔案或目錄11.4提交(Commit)修改過的檔案或目錄11.5 Copy/Tag/Bra nch/Release檔案或目錄安裝及下載clie nt端1. 下載 Windows 端程序:。一般而言,如果是 32-bit的 Windows XP 應(yīng)該使用 TortoiseSVN-1.4.x.xxxx-win32-svn-1.4.x.msi這個檔案。如果是 64-bit 的操作系統(tǒng),則應(yīng)該使用 TortoiseSVN-14x.xxxx-x64-svn-14x.msi這個檔案。2. 執(zhí)行下載回來的 TortoiseSVN 安裝

3、程序,就會進(jìn)行 TortoiseSVN的安裝。正確安裝后,應(yīng)該進(jìn)行一次的重開機(jī),以確保 TortoiseSVN 的正確無誤。安裝成功后,在檔案管理員內(nèi)按下鼠標(biāo)右鍵,應(yīng)該可以看到如下的畫面:檔案總管阻pen in NDtepad+共用和安全性凹匚匚hcdwut., IT CVSICSVN Update 尸 SW1 Commit.TortoiseSVN愛魚M S archive.題Add to 'develstfn.rar'曹匚empress ard emat.倉匚ampresE to 'devel_sTi,rarf arid email甘 Load in Ultra Co

4、mpare卜羽 Sc 日n selected file5 畀ith Ant Vi r傅送到兇建立捷徑陽I除重新命名也內(nèi)容 大部分的TortoiseSVN的操作都是透過檔案管理員及鼠標(biāo)右鍵就可以完成了。如果您之前 使用過TortoiseCVS,應(yīng)該會對這種操作方式感到十分親切。什么是 SVN ( Subversion ) ?有一個簡單但不十分精確比喻:SVN =版本控制+備份服務(wù)器簡單的說,您可以把SVN當(dāng)成您的備份服務(wù)器,更好的是,他可以幫您記住每次上傳到這個服務(wù)器的檔案內(nèi)容。并且自動的賦予每次的變更一個版本。通常,我們稱用來存放上傳檔案的地方就做Repository。用中文來說,有點像是檔案

5、倉庫的意思。不過,通常我們還是使用Repository這個名詞。基本上,第一次我們需要有一個新增(add)檔案的動作,將想要備份的檔案放到Repository上面。日后,當(dāng)您有任何修改時,都可以上傳到 Repository上面,上傳已經(jīng)存在且修改過的檔案就叫做commit,也就是提交修改給SVN server的意思。針對每次的commit, SVN server都會賦予他一個新的版本。同時,也會把每次上傳的時間記錄下來。日后,因為某些因素,如果您需要從Repository下載曾經(jīng)提交的檔案。您可以直接選擇取得最新的版本,也可以取得任何一個之前的版本。 如果忘記了版本,還是可以靠記憶嘗試取得某個

6、日期的版本。為甚么要用SVN?1. 備份工作檔案是十分重要的。您永遠(yuǎn)不知道計算機(jī)上的硬盤何時會壞掉。根據(jù)經(jīng)驗法則再加上摩菲定理,壞事情往往都發(fā)生在最重要的時刻。例如,要release東西的前一刻,硬盤完全壞掉,無法修復(fù)。所以,常常備份工作數(shù)據(jù)是非常重要的。大部分公 司的server都會有專門的備份機(jī)制,甚至是異地備援。絕對比放在自己的計算機(jī)里頭, 或是隨身碟上面來的安全。2. 版本控管非常重要。您無法保證手頭上最新版本永遠(yuǎn)都是對的。很多時候,在經(jīng)過數(shù)天努力工作后,您才發(fā)現(xiàn)走錯方向。需要將所有的修改回復(fù)到數(shù)天前版本。沒有幾個 人能夠完全記住自己修改過什么東西。如果沒有做好版本控管,那么,最差的狀

7、況就 是要全部重來。3. 伙伴間的數(shù)據(jù)同步也是非常重要的。很多時候,除了您個人外,還有其它的伙伴也需要您的檔案。怎么把最新的檔案提供給伙伴呢?用e-mail ?根據(jù)經(jīng)驗,用 e-mail是一個很差的辦法。到了最后,根本就不知道哪一封e-mail才是新的。因為可能您最新的e-mail已經(jīng)被當(dāng)成垃圾信給丟了。別忘了,現(xiàn)在很多e-mail軟件都有anti-spam的功能,說不定這些信件都被當(dāng)成廣告信給處理掉了。而且,您也應(yīng)該知道一般檔案如果 放在e-mail內(nèi),檔案大小會變得比較大(通常是原來的4/3倍以上)。如果每天更新一次,恐怕幾天沒收信的話,信箱就爆了!4. 如果沒有一個好的辦法,備份不同版本

8、是很耗費硬盤空間的。例如:您有一個總共10MB的目錄,使用單純的檔案備份。如果有10個版本就會變成100MB。 20個版本就有200MB。如果,不想備份這么多版本,勢必就是要減少備份的次數(shù)。拉長備份周期將會導(dǎo)致數(shù)據(jù)遺失的危險性增高。把舊的不需要的備份刪除?根據(jù)經(jīng)驗,只要時間一拉 長,您跟本就不知道一個月以前的版本是重要或者是不重要。SVN能幫我們解決上面的問題嗎?答案是肯定的:1. SVN Repository 可以是自己計算機(jī)上的一個目錄,或者是隨身碟(不建議這樣用)。當(dāng)然也可以是公司的服務(wù)器。2. SVN有很棒的版本控管機(jī)制。所有上傳的版本都會幫您記錄下來。日后您可以隨時取得某一個時刻的版

9、本。而且,也有版本分支及合并等好用的功能。3. SVN可以讓不同的開發(fā)者存取同樣的檔案,并且利用SVN Server作為檔案同步的機(jī)制。也就是說,您有檔案更新時,無須將檔案寄給您的開發(fā)成員。只需要告訴他新的版本已經(jīng)在 SVN Server上面,請他自己去SVN Server上面就可以取得最新版本。而且,SVN Server也可以做到當(dāng)您上傳新版本后,自動發(fā)信給相關(guān)的成員。4. SVN的存放檔案方式是采用差異備份的方式。也就是說,他只會備份有不同的地方。所以很省硬盤空間。此外,他也可以針對所謂的非文字文件進(jìn)行差異備份。怎么樣在 Windows下面建立 SVN Repository ?假設(shè)您已經(jīng)安

10、裝前面所提及的 TortoiseSVN這套軟件,現(xiàn)在我們先告訴您如何用自己的硬 盤或是隨身碟當(dāng)作 SVN Repository 的存放地點。如果您只想知道如何存取一個已經(jīng)建立好 的SVN Server上面的Repository,請直接跳過本節(jié)。假設(shè)您的要放置 Repository的地方是E槽。您需要先建立一個空的目錄。以下面的例子而 言,我們在E槽下面建立了一個名為svn_repo的目錄。SVN并沒有限定Repository目錄名稱。您可以建立任何您自己喜歡的名稱。但是,強(qiáng)烈建議勿使用非英文的檔名(如中文或日文)。透過您的檔案管理員,在E:svn_repo的Icon上面,按下鼠標(biāo)右鍵后,選擇T

11、ortoiseSVN->Create repository here 。EH ATIControl Center卜砂列圖示誡(D重新整理貼上舊貼上捷逼國Ctrl+Z卜jSVN ClTEckaut.TcrtciseSVN |Repc'browser Export,.內(nèi)容R)It Createreposiboryhere.|嗣 import.? iJelp 竜 Settings接著,您會看到如下的一個窗口,這個窗口主要是問您,您希望使用的Repository數(shù)據(jù)庫格式是FSFS還是BDB。基本上,請選擇 FSFS就可以了。按下 0K按鈕后,您將可以看 到下一個畫面。這就表示您的SVN

12、 repository已經(jīng)成功的建立了。接下來就是要把您的檔案備份進(jìn)來。日后,只要需要使用這個repository,我們就可以使用file:/E:/SVN_REPO 表示它。SVN就是透過這種URL的方式到如何與 Repository取得聯(lián)系。各種 URL的格式如下:file:/ 磁盤驅(qū)動器/repository所在目錄/子目錄http:/賬號服務(wù)器名稱/ repository所在目錄/子目錄https:/賬號艮務(wù)器名稱/ repository所在目錄/子目錄svn+ssh:/ 賬號 艮務(wù)器名稱 / repository所在目錄/子目錄其中,http表示使用一般的超文字傳輸通訊協(xié)議。https

13、表示使用加密的超文字傳輸通訊協(xié)議。svn+ssh表示透過SSH加密通訊的管道,進(jìn)行存取。建立一個 Working目錄所謂的Working目錄其實就是您平常用來存放工作檔案的地方。通常我們會等到自己的工 作做的一個段落的時候再進(jìn)行備份。所以我們平常都是在Worki ng目錄下面工作,等到適當(dāng)時機(jī)在commit到repository中。舉例來說,我們想在D槽下面建立一個名為 working的 目錄。首先先把這個目錄建立出來。此時,這個目錄應(yīng)該為空的。在檔案管理員中按下右鍵后(您可以在working目錄的icon上按,也可進(jìn)入working目錄后,在空白的地方按),選擇 SVN checkout。誹

14、列圍示依Q)重靳整理自訂此咨料夾貼上®貼上捷徑復(fù)原重新命名Ctrl+ZIT匚旳匚he電gjt” I<JSVN CheckouL.ortci5eSVK新僧園內(nèi)容®接著您可以看到如下的畫面:首先我們要填入的是 repository的位置,對于SVN來說,repository的位置都是URL。由 于我們前面已經(jīng)在 E槽建立一個repository,因此,我們現(xiàn)在要在 URL of repository 這一 欄填入 file:/E:/svn_repo/ 。接著,稍微看一下Checkout directory ,這個字段應(yīng)該要指向您的working目錄。確認(rèn)后,按下0K按鈕,

15、您應(yīng)該可以看到如下的訊息窗口。這樣就表示動作完成。按下0K按鈕后,再到您剛剛建立的目錄下。您將會看到working目 錄下面多了一個名為.svn的目錄(這個目錄是隱藏的,如果您的檔案管理員沒有設(shè)定可以看 到隱藏目錄,您將無法看到它)。營 working"fax桶遲編輯檢視3我的晟愛® 工且CD 説明回l!G上-頁°6多/晦,殖料夾翻址功 O Di ''orkjrg21E儺JiatWSVN會在您的工作目錄下,以及其子目錄下建立這個.svn的子目錄。您不應(yīng)該進(jìn)去這個目錄,尤其不應(yīng)該更動這個目錄下面的任何內(nèi)容。否則會很可能會造成SVN無法正常運作。由于,

16、原來的repository是空的,所以我們現(xiàn)在的working目錄也是空的。如果您現(xiàn)在checkout的是一個已經(jīng)有內(nèi)容的repository ,您將會看到working目錄下面現(xiàn)在多了許多目錄及檔案。如果您要在一個已經(jīng)存在的SVN Server上面checkout出上面的檔案,您只需要給定正確的URL以及working目錄的名稱。就可以取得指定的檔案及目錄了。新增檔案及目錄到Repository中假設(shè)您前面的動作都無誤?,F(xiàn)在您開始開發(fā)一個新的程序。假設(shè)您開發(fā)的程序?qū)⒎旁谇懊娼?立的 working目錄下面的 my_ prj子目錄。如下所示:假設(shè)您已經(jīng)編輯好檔案,準(zhǔn)備把他們放到 SVN的rep

17、ository中。您需要在my_prj目錄的icon上面,按鼠標(biāo)右鍵,并且選擇TortoiseSVN->Add :閱冒9)福靈絶管00搜尋目Open in Natef>ad'i-+扶用和安全性凹小 二 Snaqltif CVS Chwdoout.Chedcout虱 Repo-browsereS'inMerge8 Add tDrchrve.倉 Add ipmy- prj ,rarrwnpTMSand trail.Compress to kmy_prj. rar* and email詒 Load ir U trm Compare3Scan selected *ile5

18、with AntiYjr翦下CD複製©® Expor t./ Creabe rspositor here. .Add,濾j Import._融 Add to ignore list?旦出建 Settings點 AboutrTortoiseSVN逮立捷隆Bl除功重新命若畫內(nèi)容®接著,TortoiseSVN會把準(zhǔn)備要加入的檔案及目錄,顯示給您看。打勾的就是等下要被加入到Repository中的。如果您有某些檔案或是目錄不想在這次加入,您可以讓該項目不要被 勾選。如此,它就不會被加入到Repository去。按下OK后,您將會看到如下的訊息窗口:TortoiseSVN

19、人(WFinished!ActSon PathMine typeAddedDi workin gVny_ prjAddedD: Vi'orkjn gVny_prj'tni Idall. ba tAddedD: Gorkin g Vn /_ prj lra kefileAddedD: Rorkjn gYny_ prj Yeadme. bttAddedD:年vorkin g'itny_ prjxx.rcAddedD: VA'Orkjn g'fny_ prj> jcx 1. cppAddedD: VA'Orkjngmv- prjVsx.defAd

20、dedD;期 orkj n gYny_ prjy yyy. cppAddecD; workingim1 prjYzzz >cppAdded:9這樣就表示成功了。有一點要注意的是,這個Add的動作并未真正的將檔案放到Repository中。僅僅是告知 SVN準(zhǔn)備要在Repository中放入這些檔案。此時,如果您透過檔案管理員 查看這些檔案,應(yīng)該會看到一個白色紅底的驚嘆號在檔案icon的下方。這是表示您的working目錄中的檔案與 Repository中的檔案還沒有同步?,F(xiàn)在我們要多一個commit的動作。讓這些檔案真正的放入到Repository 中。您可以在 my_prj目錄的ico

21、n上或者是my_prj目錄內(nèi)的空白處按下鼠標(biāo)右鍵,叫出如下的選單,并且選擇SVN commit。植靈總管Open in Notepad + +扶用和安至性砂小 怎 Snagrt1if CVS Ch«dcput.僧匚四f SVN Commits»昭Tortoise 列 NR|0',inMerge 倉*Id to archrve. 這Add ip "丫-町" QCompress and anrail,.Compre&fi to bmy prj.r-flr* 3rd Email7Load ir U'Va 匚ompare Scan sel

22、etted 利手 with ArtiVirk傅送到凹翦下CD建立捷俚 刪號功重靳命名凹內(nèi)容®緊接著,您將會看到如下的窗口出現(xiàn):Enter Log WessageD:worlringmy_ prj匚 CMnmit to:fie:伯REPO/my. prjMessage:險cent inessdQ已,Ihij is tht firsE tis.s亡隹埜胚衛(wèi)臺)pra5*et7Changes made (double-dids on file for diff):曲 H p f 驚翳Tr buimar&a和XXX8 臚 m _J.Elllsrl<dFileHExiens-or

23、Text sta tusProperty i,bat.txt>rcicpp.defcppadded added added added ddded added added added added9 Fes selectrl Keep locks回 Sbo'/t unversionect files0Setert / deselect ri在這個窗口中,下半部會列出一個清單,讓您清楚的了解到哪些檔案要被commit到repository中。同樣的,如果您有檔案不想在這個時候commit到Repository,您可以取消選取的檔案,這樣他們就不會被commit到Repository中

24、。在檔案列表的上方是 Message欄,您可以在欄中輸入本次commit的目的。這是十分重要的字段,當(dāng)您commit的次數(shù)很多時,可以靠這個訊息知道版本與版本之間的差異。當(dāng)您輸 入好Message,按下OK之后,就可以看到如下的窗口出現(xiàn),通知您已經(jīng)將指定的檔案送 至U Repository 中。my_ prj - TortolwSVH Commit,. Finished IActiorAddingAddingSending conterit Sending content Seeding con tent 5endlng content Sending content Sending cont

25、ent griding intent Sending content Comp'tedPEltflD:伙 otkin prj Vvvv. cpp D: Gorkin gHn>_ prj izz.cpp D i forking Vny_PdV nr .cppD: '.vorkin g 訶. _ prj 1. cppD!orldngyny_prjK30(.rcD: working >ny_ prj Yeadme. txtD:_ pfj Vcxsx. defD:枷 orkri g ViY _ PH Vjuildall b 日 t D;''.YOfkj n

26、g'ri7_ prj 'rnakefiieLainc&lD: 'H.vwkjng;_ prj yyyy.cpp At revision: 1您可以到先前的folder中,確定是否所有的檔案 icon都有如下的綠色勾勾在上面,這樣代 表您的檔案都正確無誤的到repository中。有時候,因為 Windows本身的問題,您可能會看到有些icon沒有變成綠色的勾勾。此時,多按F5幾次,應(yīng)該就可以解決這個問題。如果,仍然不行,表示您之前的commit動作真的有問題。請仔細(xì)檢查之前的commit動作是否正確。更新檔案及目錄為何需要更新?由于版本控制系統(tǒng)多半都是由許多人共

27、同使用。所以,同樣的檔案可能還有人會去進(jìn)行編輯。為了確保您工作目錄中的檔案與Repository中的檔案是同步的。建議您check out過一次?,F(xiàn)在在編輯前都先進(jìn)行更新的動作。在此,我們都先假設(shè)您已經(jīng)將檔案要說明的是如何在一個check out過的目錄進(jìn)行update。在想要更新的檔案或目錄icon上面按下鼠標(biāo)右鍵。并且選擇SVN Update。檢視叨排列圖示値0)b重嶄整理國目訂此資料©.貼上Q貼上捷徑if CVS Checkout.,*>*cvs$ SVN Update SVN Commit.-,*TortDise5v'N新增巒內(nèi)容色正常的狀況下,您可以看到如上的

28、窗口。 在這個窗口中會顯示有哪些文件更新了。如果沒有看到檔案更新的相關(guān)信息,這表示您的目錄中的檔案已經(jīng)是最新的,所以無須進(jìn)行更新。更新至特定版本有時我們需要回溯至特定的日期或是版本,這時就可以利用SVN的Update to revision 的功能。在想要更新的檔案或目錄icon上面按下鼠標(biāo)右鍵。并且選擇TortoiseSVN->Update to revision 。Shov log兵 ReporoiAiserCheck & modifications 億 Reviscin o.raph Resolved.Update to rewsion-H.勾 Rev&rt.牴Cl

29、ean up Q Get IcnJc. 3 Release lodk檢視SBranch/tag-,.構(gòu)列凰頁依 重辯整理5tch. Merge. 35a Esort. 卿 RdoGate.n自訂此脊料巫®站上捷宦國 Add.Ctrl+Z$ Create atch.CVS Ched£Dut.t Apply Batch,*Proper-besIf Sy'FJ Update? bet產(chǎn)呂VN Commits.昭 SettingsJ rTo'rtJoiseSVN About|內(nèi)容®Revision在這個Update窗口中,您可以選擇更新到最新版本(HEAD

30、)。也可以選擇更新到某個指定的版本(Revision)。當(dāng)然,您可能早就記不起來正確的版本號碼。可能只隱約的記得大概在 什么時間。沒關(guān)系,按下 Show log按鈕,您就可以回顧歷史了。所有您曾經(jīng)做過的動作, 及其日期與對應(yīng)的版本都會列在這個窗口上面,只要在你想要的版上面點一下,讓他變成反白,然后按下0K。這個版本就會自動填入 Update窗口中的Revision 字段中。您只要再按下一次 0K ,這個版本就會被取出來到您的硬盤中。復(fù)制檔案及目錄很多時候您會希望有另外一個復(fù)制的目錄來進(jìn)行新的編修。等到確定這個分支的修改已經(jīng)完畢了,再合并到原來的主要開發(fā)版本上。舉例來說,我們目前在working

31、 copy下面有如下的目錄及檔案:現(xiàn)在,我們要為trunk這個目錄建立一個 branch。假設(shè)我們希望這個目錄是在D:workingmy_prjbranch my_new_branch_for_testing。首先我們可以在 trunk 目錄下面的空白處,或是直接在trunk的icon下面按下鼠標(biāo)右鍵。Show log 乳 Repo browser 日三 Check W modifications 氐 Re>'is*or)QraphResolved.E Update to revision -. 勺口牝吏吃.Clean up2. GetlcwJc.,P Release lo

32、71;Jk! Branc±i/'jgg,.|占阪tch吐A Merge., 爭 Ejsort. 舸 RdoGate.ib自訂此脊料蕊®貼上迥 貼上捷逼 Add.復(fù)舉移動(WCtrl+Z¥ Create eatch.IT CVS Checkout.豐 Apply Batch.Properte5IT S;FJ Update? Hefcf'SVN Cornndt.昭 Settings1 TortoiEeSVMlH About卜內(nèi)容®在選擇Branch/Tag 這個項目后,您將會看到如下的對話框出現(xiàn)。請先確認(rèn)From WC at URL: 中的目

33、錄是您要復(fù)制的來源目錄。接著,在To URL中輸入您要復(fù)制過去的路徑。通常我們會將所有的 branch集中在一個目錄下面。以上面的例子來說, branch檔案都會集中在branch的子目錄下面。在To URL中您只需要輸入您要的目錄即可。 目錄不存在時,會由SVN幫您建立。特別需要注意的是 SVN因為斜線作為目錄分隔字符, 而非反斜線。接著在Log message 輸入您此次branch的目的為何。按下 0K就可以了。如果成功,將可以看到下面的畫面:TortoiseSVN SpyFinishe-dF-,口 生ActionPettiMime typeCompletedAt revision: 3

34、NoticePlease note:Noticeyour workinti copy remains an the previous patii, If you want four next changesNoticeb& be in the just created topy then you need bo switch ovwNoticeto ttiatcopy path. Use theoommand to do that.<1miZZI ®1OKCancel按下OK就可以關(guān)閉這個窗口了。如果您此時立刻去working copy的branch子目錄下面,您將會失

35、望的發(fā)現(xiàn)在該目錄下面并沒有剛剛指定的目錄存在。這是因為您worki ng copy的部份還是舊的,您只需要在branch子目錄下面進(jìn)行 SVN update就可以看到這個新增的目錄了。新增的目錄就與原來的目錄無關(guān)了。您可以任意對他進(jìn)行編輯,一直到您確認(rèn)好所有在branch下面該做的工作都完成后,您可以選擇將這個 branch merge回原來的trunk目錄,或者是保留它在 branch中。要merge回trunk目錄中,方法很簡單。以上面的例子來說, 我們在D:workingmy_prjtrunk 目錄空白處,按下鼠標(biāo)右鍵,選擇 Merge:Me閑峯# 5how log| 二,-Di $&#

36、39;;英f日三 Check K>r modificaticins饑 Revis, on jsh-/' Resohed.E Update to revision “.磚 Revert.M Clean up2 Get lock.Release lo«Jk檢視凹戲刑回頁依D重虧整理自訂此脊料施伊 Brandi/bg. .h宅tch.Merge.旳 Export.Me閑峯4 Add.,Create gatch.7 Apply Batch. Properties? Hefc貼上巴貼上捷逼復(fù)舉剛除 Ctrl+ZtT CVS Checkout.,.#*CTSiTSyTJ Updat

37、e產(chǎn)詁Tl Commit.Settings*bTwtBiEESVN妙 About新館國內(nèi)容®接著可以看到如下的畫面:From: (start URL and revision of the range to merge)fife;/Di fW /SVN.REPO/m y_ pr>/brandi/nn r_new_b ran ch_fbr_testing二Speafy the revtsion rage which you want to merge:I "- ICtlfAD Revis ion5101A'歸 9電 Re'/iaorrO Ignore a

38、ncestryTa; end UM and revision of ttic range to mer'ge)0t5e Trorn:" LKL frtvision range i$ sefectatjle in tie abo'-'e bg dialog)fifet/MD:/TMP/SViy REPO/my prj/branchin亡w 熱an由itestinqiv- am Bill iriiibkihiimaiL<*:-tlEAD RevisiodO Revlaon8Show :ogThe rwiilt of the merge is stored n

39、 the VLorking copy at:D forking Vn¥_Rjtrunkgwhich ponte to the repository at URL:/TMP /SvM.REPQ/ni y_ VtiQs rj/trun kLler疔屯¥ 5口!幵HniPed 也稈 _| ©心 曲口這個畫面主要分為三個部份,前面的From:與To:是要問您打算從 Branch中的哪個版本到哪個版本,merge回原來的trunk目錄中。因此,F(xiàn)rom跟To的URL字段應(yīng)當(dāng)都是指定 原來branch的目錄下。剩下的就是指定要merge的revision范圍。以上面的例子而言

40、,我們從Branch的Revision 7開始merge至U Branch下面的最新版本。您可以透過,Dry run 按鈕,試作一次 Merge。這個merge只會顯示一些訊息,不會真正的更新到trunk的目錄去。只有按下 Merge按鈕后,才會真正的將branch的檔案與trunk的檔案合并起來?,F(xiàn)在到trunk目錄下,會看到這兩個檔案處于被修改的狀態(tài)。w trunk 口 XIfU1d植案® 膿輯歸檢視酣莪的最愛®工具説明凹©上一頁 o ”曲Q攙尋擱址叨 巴 D;1(NQrki"igyny-prjtrLinkv IQ移至名A大小儲型bsvnj檔峯資料來

41、bmldall.bat1KBMS-DOS批卑鎂扇 makefile1 KB4NE"eadmetxt1KB龍字龍件15KEC + + Source1KBRescurS Siript摺 xxxit.def1KDExpart Defir ton Filefidryvy-cpoHKBC + + Source空貯空cpp6 KB匚十 + Source上面的訊息告訴我們在trunk目錄下面的yyyy.cpp及xxxl.cpp已經(jīng)被更改過了。如果您在Me閑峯Me閑峯UUMe閑峯Me閑峯如果您確認(rèn)這次的 merge沒有問題,您可以直接使用commit來將這兩個被修改的檔案commit回SVN rep

42、ository 上。如果有問題,您可以直接修改這兩個檔案,直到確認(rèn)ok 了,再行 commit 。檢視QO排列回示依®重新整理目訂此冒料夾®貼上回貼上捷徑復(fù)原刪除(U) Ctrl+ZiTCVS Checkout.iCVSf 5Vh update9 SVh CommitiTorroiseSVN新館凹)內(nèi)容®Enter Log Message DAworkingmy_ prjXtrunkCommit to:file: /(/Dr/TMPVNREPO/my p(j/trunkMessage:“cent messagE$Mrge branch te crunkChange

43、s made (double-dick on file for diff):FileExtensionText statusProperty0 也xxxl.cppcppmodifiednormal0 yyyy.cpp CPPmodifiednormal0 Show unversioned files 0 Select / deselect all2 files select Keep locksQKcelActiorModified ModifiedSending conteritSending con tentCompletedtrunk TortoiseSVN Cottirnft. Fin

44、ished!Mime typeD i '.'Ofkin g"卩i ? _ pfj trunk)o(x l.cpp D: forking >ny_ PdVninkyyyy ”cpp D i forking Yny _ pfj trunkyyyy, cpp D: '; A'wkin g'/n/_ prj trunk ocx i.cppAtrevisnni: 11Modified: 2Cancel一切順利的話,您就成功的將branch的檔案merge回trunk 了。制作Tag或是 Release所謂的Tag或是Release就是一個特別的版本

45、,因為這個版本可能有特別的意義。例如:這個版本是特別的Milestone或是release給客戶的版本。其實,Tag與Release的作法與Branch完全相同。只是 Branch可能會需要 merge回原來的trunk中,而tag及release 大部分都不需要 merge回trunk中。舉例來說,今天我們的trunk做了一版,這個版本被認(rèn)定是軟件的1.0版。1.0版對于開發(fā)來說是一個非常重要的里程碑。所以我們要特別為他做 一個標(biāo)記,亦即 Tag。假設(shè),這個1.0版是要正式release給客戶或是相關(guān)vendor,我們 要可以為他做一個Release的標(biāo)記?;旧?,SVN只有目錄的概念,并沒

46、有什么 Tag的用法。所以您會看到再SVN的選單上面,Bran ch與Tag是同一個項目。以這個1.0的例子來說,我們就是在 Trunk上面,按下鼠標(biāo)右鍵,選擇Branch/Tag的項目:* Show log隊 Repo-brokerH=)Check -for modifications 億 Reviaon araph0 Resolved.F Update to revision.0 Revert.H Clean up2 Get lock.Release lock碎 Branch/tag. Add.i Create gatch.i Apply Qatch. 鼻 Properties目訂此脊料夾

47、®貼上但)貼上捷徑復(fù)原刪除(U)Ctrl+Zf CVS Checkout.*rcvsf SVE UpdateCommit.iTorroiseSVN? Help 昭 Settings About新增凹)內(nèi)容®TortofseSVN Copy., Ffnithe-cT!Action PattiMirre typeCompleted At revision: 12Completed At revision: 12成功的話,您就在 Tag目錄下面建立了一個 1.0的目錄。當(dāng)然,如果您這時到Tag的目錄下面去,會看不到這個目錄,您需要在Tag目錄下面update 下,才能看到它。制作Release的作法與Tag完全相同。只是把 Tag的目錄換成 Release而已??吹竭@里,相信大家都已經(jīng)領(lǐng)悟到無論是Branch , Tag或是Release都只是將指定的 Trunk版本復(fù)制一份到另外一個目錄去。至于這個目錄要叫 Branch還

溫馨提示

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

評論

0/150

提交評論