Tortoisesvn 操作入門指南_第1頁
Tortoisesvn 操作入門指南_第2頁
Tortoisesvn 操作入門指南_第3頁
Tortoisesvn 操作入門指南_第4頁
Tortoisesvn 操作入門指南_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、svn操作入門指南svn操作入門指南文檔歷史版本修改內(nèi)容修改時間修改人批準人0.1initial draft初稿2008/11/140.2細化了局部細節(jié),增加了基本約定。2008/11/16為什么選擇svnl 以目錄為基礎(chǔ)的版本控制,操作方式類似于本地的文件操作,與一般的使用習慣比較接近。比cvs系統(tǒng)更加方便使用。l 命令類似于最常用的cvs版本控制系統(tǒng),對于習慣cvs的人來說,比較容易上手。l 分支管理方式非常方便,有利于協(xié)同開發(fā)工作。l 有非常成熟的windows客戶端程序tortoisesvn,簡單易用。重要約定:1. 所有目錄名稱,必須使用英文名稱,并且注意避免英文名稱的拼寫錯誤。文檔

2、的名稱,也建議使用英文名稱。2. 項目目錄的建立,必須由部門經(jīng)理確認。項目的版本號,必須由部門經(jīng)理來分配。3. 所有的源代碼都必須提交到svn服務(wù)器上,并且有規(guī)范的目錄結(jié)構(gòu)。4. 所有提交測試的版本,必須是從svn服務(wù)器上直接檢出的版本,必須記錄對應(yīng)的版本號。5. 員工在每天下班前,必須提交本日的工作副本,確保最新版本的代碼都提交到svn服務(wù)器上。6. 如果因為個人原因造成代碼的丟失而不可恢復,將在績效考核時扣除相應(yīng)的分數(shù)。tortoisesvn日常使用介紹本文目的在與描述tortoisesvn客戶端的日常使用。不是一個版本控制系統(tǒng)指南,也不是subversion (svn)的指南。本文檔的價

3、值在于,當你知道大概要做什么,卻又記不起應(yīng)該怎么做的時候,可以有個參考的地方。svn是一個非常強大的系統(tǒng),同樣,tortoisesvn也是一個非常強大的客戶端,我們不可能在這個文檔中把每一個功能都介紹詳細,同時也希望對svn工具有經(jīng)驗的同事能夠不斷的豐富這個文檔,與大家分享你的經(jīng)驗。如果需要更高級的應(yīng)用和設(shè)置,請參考tortoisesvn 手冊。中文版的翻譯的實在是不怎么樣,如果有閱讀能力,建議大家直接看英文原版。如果你需要了解使用subversion進行版本控制的指南,我們建立你閱讀以下這本夢幻之書:使用 subversion 進行版本管理 http:/svnbook.red-tortois

4、esvn 手冊:tortoisesvn-1.5.5-zh_cn.pdf使用 subversion 進行版本管理:svnbook.pdf安裝tortoisesvn最新版本:tortoisesvn-4361-win32-svn-1.5.4.msi中文語言包:languagepack_4361-win32-zh_cn.msi先安裝最新版本的客戶端程序,然后安裝中文語言包。一路next即可。導入數(shù)據(jù)到版本庫注意:只有你新建了一個項目,并且第一次將文件加入到版本庫時,才需要做這個操作。如果你是在原來的基礎(chǔ)版本庫基礎(chǔ)上做開發(fā),則直接檢出工作副本即可,不需要導入數(shù)據(jù)到版本庫。對于

5、每一個項目,都必須有以下三個目錄:/path/to/project/name/trunk/path/to/project/name/branches/path/to/project/name/tags這三個目錄分別表示該項目的主干版本、分支版本和發(fā)布版本。在這三個目錄下面還可以根據(jù)實際開發(fā)的需要,建立不同的目錄。trunk目錄下面應(yīng)該是開發(fā)環(huán)境的基本維護情況。branches目錄下面,應(yīng)該首先是各個分支的目錄,然后是分支開發(fā)環(huán)境的目錄。以下我們都以一個helloworld項目作為實例。1. 在本地建立svn文件夾,在svn目錄下建立你的項目的目錄,例如:helloworld2. 在hellow

6、orld目錄下建立trunk、branches、tags三個目錄,如圖1圖1 建立基本目錄結(jié)構(gòu)3. 在helloworld上面點擊郵件,選擇導入,如圖2圖2 導入目錄結(jié)構(gòu)4. 彈出導入對話框,并且在對話框的版本庫url中輸入版本庫url地址,技術(shù)二部的所有項目都導入到tech2new目錄下面,自建項目目錄。在導入信息中,填入這次導入數(shù)據(jù)的注釋。應(yīng)該盡可能詳細的描述這個項目的內(nèi)容,讓大家一看就明白。如圖3圖3 導入信息框5. 接著會彈出導入成功或者失敗的信息。如果導入成功,在使用版本庫瀏覽器查看時,就可以看到版本庫中已經(jīng)有建立好的目錄結(jié)構(gòu)了。如圖4.圖4 版本庫中的目錄結(jié)構(gòu)6. 導入成功之后,需

7、要重新檢出版本,才可以繼續(xù)下面的操作。在本地helloworld文件夾上點擊右鍵,選擇“svn檢出”,選擇正確的版本庫url和檢出至目錄版本庫url:svn:/:6000/proj/www/tech2new/helloworld檢出至目錄:d:svnhelloworld按“確定”檢出即可。7. 此后,在這些目錄中不斷添加目錄和文件,然后更新到版本庫中即可。添加新文件和目錄svn的最大特點就是他的操作方式跟我們?nèi)粘5奈募到y(tǒng)操作幾乎是一模一樣的,非常簡單。我們需要增加文件或者目錄,只要在需要增加的目錄下面添加文件或者目錄,也可以從別的地方復制文件或者目錄到需要的文件夾下面。

8、然后右鍵點擊需要增加的文件夾(如helloworld文件夾),選擇“增加”,就會出現(xiàn)增加文件和目錄的對話框,如圖5.圖5 增加文件和目錄添加完成之后實際上并沒有真正提交到版本庫中,此時你在版本庫的服務(wù)器上還不能看到這些文件和目錄。這個跟cvs的原理相同,你必須重新確認提交,才能完成提交過程。選擇helloworld文件夾,點擊郵件,選擇“svn提交”,彈出提交對話框,仔細填寫提交信息,我們要求,每次提交都必須填寫提交信息。如圖6圖6 svn提交對話框svn提交對話框?qū)⑹俏覀冊谌蘸蠊ぷ髦凶畛?吹降膶υ捒颍看未蠹腋铝宋臋n、代碼、數(shù)據(jù)等等之后,都需要用提交功能來提交到服務(wù)器上(參考提交修改到版本

9、庫章節(jié))。忽略文件和目錄有一些編譯過程中的中間文件,其實沒有必要提交到svn上面,但只要你放在目錄下面,每次提交時都會提示你是不是需要提交。最好的避免類似問題的方法是添加參考文件到該項目的忽略列表。這樣他們就永遠不會出現(xiàn)在提交對話框中,而真正的未版本控制文件則仍然列出。如果你右鍵一個單獨的未版本控制文件,并從菜單欄選擇tortoisesvn-加入忽略列表,會出現(xiàn)一個子菜單允許你僅選擇該文件,或者所有具有相同后綴的文件。如果你選擇多種文件,那么就沒有子菜單了,你僅能添加這些特定的文件/目錄。如果你想從忽略列表中移除一個或多個條目,右擊這些條目,選擇tortoisesvn - 從忽略列表刪除。檢出

10、工作副本如果你參與的項目已經(jīng)存在于版本庫中,則需要在你開始工作之間,從版本庫中檢出你的工作副本。在本地文件系統(tǒng)任意位置建立一個文件夾,作為存放檢出工作副本的目錄。在該目錄下任意位置點擊右鍵,選擇“svn檢出”,彈出檢出對話框。選擇你需要檢出的工作副本,主干或者某一個分支,建議大家根據(jù)需要檢出內(nèi)容,不要直接檢出項目的全部內(nèi)容。并且選定檢出至目錄,如果此文件夾不存在,則會自動創(chuàng)建。檢出深度一般選擇全遞歸即可,表示檢出這個目錄以下的所有子目錄和文件,其他選項就不一一介紹了。如圖7圖7 檢出工作副本圖7表示檢出了項目的主干版本來開發(fā)。如果是在協(xié)同工作的環(huán)境下,建議使用分支開發(fā)的方式。檢出一個開發(fā)分支到

11、本地來工作,最后將分支合并到主干之后發(fā)布。這是最安全、可靠、高效的工作方式。檢出分支作為工作副本的方式與檢出主干相同,選擇對應(yīng)的版本庫url和檢出至目錄即可。提交你的修改到版本庫這是我們最常用的操作,其操作也非常簡單。在需要提交的文件或者文件夾上面點擊右鍵,直接選擇“svn提交”,就會顯示提交對話框。提交對話框會自動顯示變更的列表以及提交至版本庫的位置。并且提示你寫入提交信息。認真填寫提交信息,并且選擇你需要提交的內(nèi)容之后,點擊確定即可。如圖7.圖7 提交更新如果在同一個主干或者分支上面其他人也提交了修改,此時工具會提示你其他人也提交了修改,你的提交失敗了。你必須首先把其他人提交的內(nèi)容更新下來

12、,并且與你的提交進行合并,然后再次提交(如何更新副本,參考下一章節(jié))。如圖8圖8 提交失敗更新你的工作副本如果在你工作的副本上有其他人員在協(xié)同開發(fā),則需要更新你的副本,并且合并其他人的修改之后才可以提交。我們一般建議你在開始做開發(fā)之前,將工作副本更新到最新版本。在你的工作副本上面點擊右鍵,選擇“svn更新”,工具會立即開始幫助你更新,并且顯示更新的進度和更新的情況。如圖9圖9 用別人的修改來更新你的工作副本此時你的代碼是不能提交的,你必須先解決掉這些沖突,并且確認其他人的修改對你的改動是沒有影響,才能繼續(xù)提交。解決沖突如果你在本地修改了工作副本,并且有其他協(xié)同工作者提交了新的版本,那么在你更新

13、之后,可能會出現(xiàn)沖突。你必須解決完全部沖突之后才可以再次提交你的修改。沖突出現(xiàn)的原因是兩個開發(fā)人員修改了文件中相同的幾行。由于subversion不知道你的項目的具體情況,它把解決沖突的工作留給了開發(fā)人員。一旦出現(xiàn)沖突,你就應(yīng)該打開有問題的文件,查找以字符串開頭的行。有沖突的區(qū)域用如下的方式標記: revision對于每個沖突的文件subversion在你的目錄下放置了三個文件:filename.ext.mine這是你的文件,在你更新你的工作副本之前存在于你的的工作副本中也就是說,沒有沖突標志。這個文件除了你的最新修改外沒有別的東西。filename.ext.roldrev這是在你更新你的工作

14、副本之前的基礎(chǔ)版本(base revision)文件。也就是說,它是在你做最后修改之前所檢出的文件。filename.ext.rnewrev這個文件是當你更新你的工作副本時,你的subversion客戶端從服務(wù)器接收到的。這個文件對應(yīng)與版本庫中的最新版本。你可以通過“tortoisesvn編輯沖突”運行外部合并工具/沖突編輯器,或者你可以使用任何別的編輯器手動解決沖突。你需要沖定哪些代碼是需要的,做一些必要的修改然后保存。然后,執(zhí)行命令“tortoisesvn已解決”(有的編輯器中可以直接設(shè)置為已解決狀態(tài),這就不再需要使用這個命令),并提交你的修改到版本庫。需要注意的是已解決命令并不是真正的解

15、決了沖突,它只是刪除了filename.ext.mine和filename.ext.r*兩個文件,允許你提交修改。如果你的二進制文件有沖突,subversion不會試圖合并文件。本地文件保持不變(完全是你最后修改時的樣子),但你會看到filename.ext.r*文件。如果你要撤消你的修改,保留版本庫中的版本,請使用還原(revert)命令。如果你要保持你的版本覆蓋版本庫中的版本,使用已解決命令,然后提交你的版本。你可以右鍵單擊父文件夾,選擇tortoisesvn已解決.,使用“已解決”命令來解決多個文件。這個操作會出現(xiàn)一個對話框,列出文件夾下所有有沖突的文件,你可以選擇將哪些標記成已解決。查

16、看差別通常你想要深入文件中了解你修改了什么。要達到這個目的,你可以選中這個文件,然后在tortoisesvn的右鍵菜單中選擇比較。這個操作會啟動一個外部的差別檢查程序,由它來比較當前文件與上一次檢出或更新后的原始的副本(基礎(chǔ)版本)。即使你不是在一個工作副本中工作或者你有多個版本的文件,你都可以按以下方法來進行比較:選擇你要比較的兩個文件(比如,你可以使用ctrl 鍵加鼠標),然后從tortoisesvn的右鍵菜單中選擇比較。最后一個被鼠標點中的文件(具有焦點的文件,比如有虛線框的文件具有焦點),將作為被比較文件的后一個。查看日志對于每次進行修改和提交,你應(yīng)該有針對性地留下日志信息。這樣,你就可

17、以在以后方便地看到你都做了什么,為什么這么做。當然這么做還是你擁有了開發(fā)過程的詳細日志。選中你要查看的文件或者目錄,使用tortoisesvn顯示日志功能,即可顯示該文件夾或者文件的所有修改的歷史。版本日志對話框可以獲取所有的日志信息,并將其顯示出來。對話框的視圖分成3個面板。l 最上方的面板顯示了版本的列表。這其中包含了日期和時間,以及提交的用戶和日志信息開頭的部分內(nèi)容。以藍色顯示的行表示某些內(nèi)容被復制到該開發(fā)版本中(可能是從一個分支中復制而來)。l 中間的面板顯示了被選中的版本的完整的日志信息。l 最下面的面板顯示了被選中版本中都對哪里文件和文件夾進行了修改。當然,對話框的作用不止于此它提

18、供了右鍵菜單,通過它可以獲取更多的項目歷史信息。如圖10.圖10 查看日志對話框分支和標記版本控制系統(tǒng)的一個特性是能夠把各種修改分離出來放在產(chǎn)品的一個分割線上。這條線被稱為分支。分支經(jīng)常被用來試驗新的特性,而不會對開發(fā)有編譯錯誤的干擾。當新的特性足夠穩(wěn)定之后,產(chǎn)品的分支就可以合并回主分支里(即主干)。版本控制系統(tǒng)的另一個特性是能夠標記特殊的版本(例如某個發(fā)布版本),所以你可以在任何時候重新建立一個特定的構(gòu)件和環(huán)境。這個過程被稱作標記。svn沒有復雜的命令來做這些控制,取而代之的是一種稱為輕量級拷貝的方式來做分支和標記。其實際操作過程也非常簡單,直接在版本庫中進行了復制,不需要進行本地操作。在你

19、的開發(fā)版本上面右鍵單擊,使用tortoisesvn分支/標記 命令,就會彈出分支/標記對話框。如圖11。他自動把工作副本的url帶入到對話框中,并且讓你輸入分支或者標記的url。填寫好相關(guān)的信息之后,點擊確定即可。同時,如果你選中了切換工作副本到分支/標記,則本地的開發(fā)副本就會從原來的位置,切換到新的分支上。切換分支也可以使用tortoisesvn切換 命令來完成。當然,你也可以重新使用檢出工作副本的方式,檢出一個分支或者標記。圖11 建立分支和標記而對于最終發(fā)布的版本,應(yīng)該在tags目錄下建立release版本。分支命名方式:version-x.x.x (x應(yīng)該是數(shù)字,x.x.x即版本號),例如version-1.1.0發(fā)布版本命名方式:release_rlastver_x.x.x,例如release_r19805_1.1.0。其

溫馨提示

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

評論

0/150

提交評論