TortoiseSVN 使用

TortoiseSVN (以下簡稱 SVN)很早就接觸了,斷斷續(xù)續(xù)的用,但一直都沒有太深入的學習和使用。最近的項目需要用到 SVN 做版控制,重新拾起,現(xiàn)學現(xiàn)賣,做個記錄。

  • 安裝等基礎(chǔ)不屬于本文范疇,本文僅記錄 SVN 的用法;
  • TortoiseSVN 僅適用于 windows 系統(tǒng);
TortoiseSVN

目錄

  • 一、初始化項目
    • 1.1 初始化工程目錄
  • 二、創(chuàng)建分支(Branches)并提及修改
  • 三、合并操作(Merge)
  • 四、創(chuàng)建標簽(Tags)
  • 五、常見問題

一、初始化項目

安裝完成后,右鍵菜單會多出兩個選項,通過 【TortoiseSVN】 項就可以進行更多操作。

TortoiseSVN 右鍵菜單

右鍵 - 【TortoiseSVN】 - 【Repo-browser】,打開進入倉庫管理界面【Repository Browser】。

Repository Browser

在左側(cè) 【svn://*****/】上點右鍵,選擇【Create folder...】創(chuàng)建一個新的工作目錄。

創(chuàng)建項目文件夾

在創(chuàng)建的目錄上繼續(xù)點擊右鍵,選擇【Checkout...】,將新創(chuàng)建的項目檢出到本地。

檢出項目到本地
項目已經(jīng)檢出到本地

1.1 初始化工程目錄

打開檢出的文件夾,在其中新建 branches、tags、trunk 三個目錄,分別代表 分支、標簽以及主干。

  • branches 分支,分支基于主干(Trunk)的代碼創(chuàng)建,所有的開發(fā)均使用分支目錄,最終提交(Commit)到遠程分支,再合并(Merge)到主干(Trunk);
  • tags 標簽,標簽常用作版本記錄,它可以認為是 GitHub 上的 release 版本;
  • trunk 主干,所有的分支(Branches)都會合并(Merge)到主干目錄中,然后就可以基于主干代碼發(fā)布到 tags 中,它可以認為是 GitHub 上的 master 分支。

把目錄添加到 svn 中,并提交到遠程倉庫。

提交到遠程倉庫

這樣就算是建好一個項目了。和 GitHub 類似,我們現(xiàn)在的角色是項目創(chuàng)建者。

二、創(chuàng)建分支(Branches)并提及修改

在主干(Trunk)目錄上右鍵,選擇【TortoiseSVN】-【Branches/tag...】創(chuàng)建分支。

創(chuàng)建分支(Branches)

建立好項目并檢出到本地后,我們就可以在本地進行項目的初始化構(gòu)建了,我們可以往其中添加一些文件作為最初的版本,然后右鍵-【TortoiseSVN】-【Add...】,最后右鍵 -【SVN Commit...】提交到 SVN 服務器上的主干代碼中,以后的開發(fā)就從這個最原始的主干代碼開始。

三、合并(Merge)分支(Branches)到主干(Trunk)

SVN 的合并操作咋一聽還是很繞的:我們平時講“合并到主干”,看上去是應該是把分支合并到主干,即 分支→主干,但實際操作中卻是反向操作的,即 把來自分支的代碼合并到主干。也就是說:合并(Merge)操作是在主干(Trunk)目錄上執(zhí)行的右鍵操作?。?!

右鍵 - 【TortoiseSVN】-【Merge...】
合并一系列的修改
選擇分支目錄,合并來自某某分支的修改
保持默認
完成

所以,我們直接從分支上點右鍵合并是會出錯的,所以 GitHub 有一個叫做合并請求(pull requests) 的操作,合并請求在主干trunk(或 master)上操作,合并來自分支的‘合并請求’

四、創(chuàng)建標簽(Tags)

創(chuàng)建標簽太簡單了,直接在主干上點右鍵,仍然選擇【TortoiseSVN】-【Branches/tag...】,但這次選擇的保存路徑(To path)是 tags 目錄。

創(chuàng)建標簽

標簽可以理解為一個正式的版本,其中的代碼一般為只讀狀態(tài)(這個需要在 SVN 環(huán)境所在的服務器上對目錄做讀寫權(quán)限設置吧),一般一個大功能完成都會做一個 tag,它可以認為是 GitHub 上的 release 版本。

electron-builder 項目的 Releases 列表

五、常見問題

5.1 拖拽文件

在 Repository Browser 界面中,我們可以直接使用鼠標進行文件的拖拽操作,不管是拖入還是拖出,但該操作會阻塞住界面,出現(xiàn) Repository Browser 假死的狀態(tài),特別是比較大的文件,尤其嚴重,不過沒關(guān)系,耐心等它把文件傳完即可。拖拽出的文件不具有版本屬性。拖入文件時類似 add 操作!

5.2 倉庫地址變更

在磁盤中找到當前項目,直接在項目目錄上點擊右鍵,選擇【TortoiseSVN】-【Relocate】。

倉庫地址變更

在打開的界面中填入新的地址并根據(jù)引導一步一步完成遷移即可!

參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容