天天看點

svn用戶端使用  一、用戶端SVN安裝。

 1.下載下傳位址:https://tortoisesvn.net/downloads.html, 頁面裡有語言包更新檔的下載下傳連結。

目前最新版為 1.11.0 下載下傳位址: https://osdn.net/projects/tortoisesvn/storage/1.11.0/

svn用戶端使用  一、用戶端SVN安裝。

在語言更新檔包中我們可以找到中文的更新檔并下載下傳下來:

svn用戶端使用  一、用戶端SVN安裝。

運作下載下傳的 TortoiseSVN 安裝程式

svn用戶端使用  一、用戶端SVN安裝。

運作下載下傳的 TortoiseSVN 中文語言包

svn用戶端使用  一、用戶端SVN安裝。

正确安裝後,應該進行一次的重開機,以確定 TortoiseSVN 的正确無誤。

修改 TortoiseSVN 預設語言

TortoiseSVN 安裝完後預設的界面是英文的,我們可以通過設定修改成已安裝語言

svn用戶端使用  一、用戶端SVN安裝。

   安裝完成後,比如在我的項目在qiandaun1中,我右鍵就可以看到如下:

svn用戶端使用  一、用戶端SVN安裝。

說明snv已經安裝成功了!

二、checkout項目檔案,檢出項目。

啥是checkout?? 最開始我也一臉蒙逼,這裡有幾個概念要必須掌握:

checkout --->将SVN倉庫的代碼烤到本地,比如你現在參與一個團隊項目,項目代碼在你之前肯定已經寫了很多了,你可以通過checkout項目代碼,獲得整個項目。

update -->在你寫代碼的過程中,同僚很可能已經送出過代碼到SVN伺服器,而你本地項目顯然沒有同僚新送出的代碼,你可以通過update SVN獲得SVN最新的代碼。

commit  --->當你完成一部分開發後,你可以通過commit送出代碼到SVN伺服器,這樣别人就可以獲得你寫的代碼,記得先update再commit。

建立或者進入目錄下(比如qianduan1),右鍵 --> Svn Checkout -->

svn用戶端使用  一、用戶端SVN安裝。

其中URL我可以在SVN伺服器擷取到,我在myRepositories下右鍵建立檔案

svn用戶端使用  一、用戶端SVN安裝。

qianduan檔案被建立,然後比如我這樣右鍵 --> copy下

svn用戶端使用  一、用戶端SVN安裝。

即可。

将複制的版本庫URL粘貼上,如下圖:

svn用戶端使用  一、用戶端SVN安裝。

點選【ok】按鈕後,就可以檢索出來,如下:

svn用戶端使用  一、用戶端SVN安裝。

如下圖:

svn用戶端使用  一、用戶端SVN安裝。

注意事項:

   .svn這個隐藏目錄記錄着兩項關鍵資訊:工作檔案的基準版本和一個本地副本最後更新的時間戳,千萬不要手動修改或者删除這個.svn隐藏目錄和裡面的檔案!!,否則将會導緻你本地的工作拷貝(靜态試圖)被破壞,無法再進行操作。

  1)    TortoiseSVN圖示介紹

svn用戶端使用  一、用戶端SVN安裝。

   一個新檢出的工作複本使用綠色的對勾重載,表示Subversion狀态正常。

svn用戶端使用  一、用戶端SVN安裝。

  在你開始編輯一個檔案之後,狀态就變成了已修改,而圖示重載已變成了紅色感歎号。通過這種方式,你可以很容易地看出那些檔案從你上次更新工作複本被修改過,且需要送出。

svn用戶端使用  一、用戶端SVN安裝。

  如果在送出的過程中出現了沖突,圖示就會變成了黃色感歎号。

svn用戶端使用  一、用戶端SVN安裝。

加号告訴你有一個檔案或者目錄已經被計劃加入到版本控制中。

三、    TortoiseSVN Client基礎操作:

    1. SVN檢出(SVN Checkout)

     在檔案夾或者目錄下單擊右鍵 –> 選擇SVN檢出,如下圖所示

svn用戶端使用  一、用戶端SVN安裝。

  點選後,在彈開視窗的版本庫url框中輸入版本庫的目錄位址,然後點選确定,如下圖

svn用戶端使用  一、用戶端SVN安裝。

再點選ok按鈕後,如下圖:

在彈出的對話框中輸入使用者名和密碼,驗證成功後,項目檔案開始從遠端伺服器下載下傳到本地工作目錄中。

svn用戶端使用  一、用戶端SVN安裝。

點選ok按鈕後,即可擷取完成,如下圖所示:

 2.  增加(Add)

  在test項目檔案下,建立一個b.txt檔案,送出到版本庫的方法如下2種:

   1. 先提到變更清單中,再commit到配置庫中,選擇新增檔案,右鍵SVN菜單執行“Add“操作送出到”變更清單中”,然後右鍵SVN菜單執行”SVN Commit”送出到版本庫中。

   2. 不送出到變更清單中,而是直接commit配置庫中,選擇該檔案,右鍵svn菜單執行”SVN Commit”操作。

  3.  删除(Delete)

     如果被删除的檔案還未入版本庫,則可以直接使用作業系統的删除操作删除該檔案。

     如果被删除的檔案已入版本庫,則删除的方法如下:

  1. 選擇被删除檔案,右鍵svn菜單執行”delete”操作,然後選擇被删除檔案的父目錄,右鍵svn菜單執行”SVN Commit”.

使用作業系統的删除操作删除該檔案,然後選擇被删除檔案的父目錄,右鍵svn菜單執行”SVN Commit”,在變更清單中選擇被删除的檔案。如下圖:

svn用戶端使用  一、用戶端SVN安裝。
 4.  改名(Rename)

    修改檔案名,選中需要重命名的檔案或檔案夾,然後右鍵“TortoiseSVNàRename“,在彈出的對話框中輸入新名稱,點選”ok”按鈕,并将修改檔案名後的檔案或檔案夾通過 “SVN Commit”送出到SVN伺服器上。

 5.  SVN還原(SVN Revert)

    右擊想要回退的檔案或者檔案夾,在TortoiseSVN彈出菜單中選擇”Update to reversion…” 然後會彈出一個視窗,如下:

svn用戶端使用  一、用戶端SVN安裝。

比如說我們要回退到第10個版本隻需要在Revision中填寫相應的版本号,然後點選ok即可。

 6.  檢查更新(Check for modifications)

     此功能可以顯示你所做的修改有哪些還沒有送出的,此功能不光能看到對檔案的修改變化,所有的變化都能看到,包括增加檔案或者目錄,删除檔案或者目錄,移動檔案或者目錄等,如果你點選了檢查版本庫,那你還可以看到版本庫裡的改動,既别人送出了哪些檔案的改動,你還沒更新到本地,如下:

svn用戶端使用  一、用戶端SVN安裝。
 7.  SVN更新(SVN Update)

    更新本地代碼與SVN伺服器上最新的版本一緻,隻要在需要更新的檔案夾上點選右鍵或者在檔案下空白處點選右鍵,選擇”SVN Update” (擷取指定版本中的内容,點選右鍵執行SVN菜單中的“Update to reversion“),就可以了。

 7.1 如何解決沖突檔案

     對于每個沖突的檔案Subversion在你的目錄下放置了三個檔案:如下:

svn用戶端使用  一、用戶端SVN安裝。

     為什麼會産生沖突代碼呢?原因很簡單就是因為不同的人,同時修改了同一個檔案的同一個地方,這時候,他送出了,我沒有送出,我就送出不了,這個時候我們要進行先更新,然後在進行送出即可,那如果産生沖突,會生成如上3個檔案。 

解決方案如下:

      首先我們可以看下1.txt代碼如下:

        <<<<<<< .mine

        aaaasdf11222333 dderderder

        =======

       b>>>>>>> .r5

      然後我去掉多餘的代碼,1.txt變成這樣

      aaaasdf11222333 dderderder

      進行送出,還是送出不了,如下所示:

svn用戶端使用  一、用戶端SVN安裝。

  為什麼?因為沖突會産生上面的三個檔案,有上面3個檔案存在肯定送出不了,這三個檔案代碼及解釋如下:

  1. 1.txt.mine 是沖突前自己的檔案。可以看下内容如下:

      aaaasdf11222333 dderderder

      2.  1.txt.r4 是沖突前本地的版本檔案

     内容如下:aaaasdf11222333

      3.  1.txt.r5  是别人趕在你之前送出的版本

      内容如下: b

其中,<<<<<<<<.mine .....=======之間的代碼是你自己的,而======......>>>>>>>.r5是别人與你沖突的代碼部分

這樣就不難了解為什麼會産生沖突這種奇怪的東西了,因為你們修改的同一塊代碼,當然會産生沖突。

解決方案如下:

  1. 假如我現在的1.txt中的沖突内容如下:

      <<<<<<< .mine

       6666666666666600000

       =======

      66666666666aaaaaaaaaa666

      >>>>>>> .r16

    前面說過  <<<<<<< .mine …… =======

    ……之間的代碼是我未産生沖突之前修改的代碼,

    ======= ………>>>>>>> .r16 這中間……的代碼是别人與我沖突代碼的部分,從上面的代碼可以看到 aaaaaaaaa是我同僚新增的 ,00000是我後增加的。

  1. 使用revert(復原)操作,該操作表示使用者放棄自己的更新代碼,然後直接送出,這個時候你的代碼就會使伺服器上最新的代碼,即A使用者送出的新代碼,你的代碼不會被送出,如下所示:
    svn用戶端使用  一、用戶端SVN安裝。
    svn用戶端使用  一、用戶端SVN安裝。

    點選ok按鈕後 可以看到其他三個檔案都自動删掉了,1.txt代碼變成如下代碼:

    66666666666aaaaaaaaaa666

    也就是a使用者送出的代碼,我自己更新的代碼需要自己動手複制進去即可送出commit。

  2. 假如我現在3.txt産生沖突代碼如下:

    <<<<<<< .mine

    333333338888888888888=======

    3333cccccccccc3333>>>>>>> .r16

    通過第一點我們知道,333333338888888888888這個内容是我修改後,未産生沖突之前的内容,3333cccccccccc3333這個代碼是A使用者送出的代碼,從上面得知 A使用者新增内容是ccccccc,而我新增的内容是8888888。

    那麼第二種解決方法如下:

                    選擇檔案->右鍵Editconficts:這種方法需要沖突雙方經過協商之後将代碼更改統一之後再送出。不僅解決了沖突而且還保證了代碼是正确的,因為隻有一方的代碼被送出.

svn用戶端使用  一、用戶端SVN安裝。

   如上圖所示,紅色的部分是沖突代碼:theirs表示目前伺服器端最新的代碼,Mine表示自己修改後的代碼,Merged表示合并後的代碼。點選紅色後右鍵選擇:use this text block就可以将該部分代碼作為合并後的代碼

接下來再說說由于沖突導緻重要代碼被覆寫的情況。沖突發生時如果采取的措施不對可能會導緻部分代碼丢失,如果想要還原之前的代碼也很容易。

選擇檔案->右鍵選擇show log在這裡面你可以看見之前送出的所有版本,找到你想要恢複的版本右鍵選擇revert to this version 就可以恢複了.

8.SVN送出(SVN Commit)

    Svn的送出是将在工作空間做的修改進行送出,包括檔案内容的修改,檔案或目錄的添加,删除,命名,移動等操作。如下圖所示:

svn用戶端使用  一、用戶端SVN安裝。

  9.   顯示日志(Show log)

       通過此功能可以查到誰,什麼時候,對那個目錄下的那些檔案進行了那些操作,如下圖:

svn用戶端使用  一、用戶端SVN安裝。

 10.  版本庫浏覽(Repo-browser)

     此功能是用來浏覽需要檢視的資料庫,在本地檔案夾下點選右鍵,選擇TortoiseSVNàRepo-browser,在彈出的對話框中輸入資料庫位址,再輸入使用者名和密碼,就能檢視到你需要檢視到版本庫的内容,在這你還能看到那些檔案被誰鎖定了,如下圖:

svn用戶端使用  一、用戶端SVN安裝。

四、 建立分支合并互相操作

   項目中為何要建立分支,及合并?

      比如我現在項目所有的檔案放在主幹上(trunk)中,由于需求的變更,需要增加新的需求,但是我們主幹上還要繼續往下開發,在此我們可以建立一個分支,來做增加新的需求那一塊,主幹上繼續開發,等分支上代碼沒有問題的時候,再合并到主幹上來。

建立分支的最大的目的就是跟主線進行并行開發時候不影響主線的開發。

   如何操作?

      假如我本地建立一個檔案夾test下有2個檔案夾trunk(存放主幹上的代碼)和branch(存放分支上的代碼),如下所示:

svn用戶端使用  一、用戶端SVN安裝。

1:先提取主幹上的代碼。

   點選trunk --> 滑鼠右鍵 --> 點選SVN Checkout --> 彈出一個對話框,如下圖所示:

svn用戶端使用  一、用戶端SVN安裝。

其中上面的URL是從伺服器VisualSVN Server上擷取的,如下所示:

svn用戶端使用  一、用戶端SVN安裝。

  直接右鍵qianduan3 --> Copy URL to Clipboard 即可。

  其中qianduan3項目有如下檔案,如下圖所示:

svn用戶端使用  一、用戶端SVN安裝。

最後點選上面的checkout按鈕後,就可以在主幹上把代碼從遠端伺服器上擷取到,如下所示:

svn用戶端使用  一、用戶端SVN安裝。

2:建立分支

  從trunk(主幹上)建立分支(branch)步驟如下:

  1. 右鍵trunk --> branch/Tag 如下圖:

svn用戶端使用  一、用戶端SVN安裝。

  在彈出的對話框如下圖:

svn用戶端使用  一、用戶端SVN安裝。

  點選ok按鈕後,就可以在VisualSVN Serval伺服器上新增newBranch,是從如上伺服器qianduan3上的檔案拷貝一份的,如下所示:

svn用戶端使用  一、用戶端SVN安裝。

3:提取分支

現在我們可以再來看看本地branch檔案夾了,我現在直接進入branch檔案下,右鍵 --> Chenckout下,就可以把newBranch下的所有檔案提取出來了,如下所示:

svn用戶端使用  一、用戶端SVN安裝。
svn用戶端使用  一、用戶端SVN安裝。

點選ok按鈕就可以把檔案提取出來了,如下圖所示:

svn用戶端使用  一、用戶端SVN安裝。

分支目前建立在svn的伺服器端,本地并沒有更新,對本地branch檔案夾 右鍵--> update即可,就可以更新到分支代碼,如下所示:

svn用戶端使用  一、用戶端SVN安裝。

4:合并分支到主幹上

   比如我現在對branch分支上新增3.txt檔案,然後送出上去,如下所示:

svn用戶端使用  一、用戶端SVN安裝。

我現在想把分支上的代碼3.txt合并到主幹上trunk,現在要怎麼合并呢?步驟如下:

  1. 回到我們剛剛的主幹(trunk)檔案夾下,滑鼠右鍵該檔案夾 --> TortoiseSVN --> Merge 如下圖所示:

svn用戶端使用  一、用戶端SVN安裝。

在彈出的視窗,如下圖所示:

svn用戶端使用  一、用戶端SVN安裝。

接着點選【Next】下一步,如下圖所示:

svn用戶端使用  一、用戶端SVN安裝。

再接着【Next】下一步,如下圖所示:

svn用戶端使用  一、用戶端SVN安裝。
svn用戶端使用  一、用戶端SVN安裝。

就可以看到主幹trunk上多加了一個3.txt,就是從分支上合并過來的。

5:合并主幹到分支。

 如果主幹上有一些更新,比如說jar包更新等等,那麼這些要更新到分支上去,如何操作呢?比如我現在在主幹上建立一個4.txt檔案,比如如下:

svn用戶端使用  一、用戶端SVN安裝。

我現在的分支上目錄如下:

svn用戶端使用  一、用戶端SVN安裝。

現在是想把主幹上的4.txt合并到分支上來,要如何操作?

步驟如下,還是和剛剛操作類似.

 1. 我們在分支點選branch --> 右鍵TortoiseSVN --> Merge 如下圖所示:

svn用戶端使用  一、用戶端SVN安裝。

在彈出新視窗後,如下圖所示:

svn用戶端使用  一、用戶端SVN安裝。

接着點選【Next】下一步,如下圖所示:

svn用戶端使用  一、用戶端SVN安裝。

繼續下一步,如下圖:

svn用戶端使用  一、用戶端SVN安裝。

最後直接merge,就可以看到分支branch上也有主幹上的4.txt檔案了,也就是說,合并主幹到分支上也是可以的,如下圖所示:

svn用戶端使用  一、用戶端SVN安裝。