svn的基本使用

svn是一個比較老的代碼管理工具,最近我們通常使用基本都是git,所以svn的使用比較生疏,最近項目上用svn時出現了代碼管理混亂的問題,我在這裏記錄下svn的trunk、tags、branches的使用。

需要的軟件

TortoiseSVN官網

創建代碼倉庫

新建一個文件夾CodeSpace,在CodeSpace文件夾下,右鍵->TortoiseSVN->Create repository here,這樣代碼倉庫就創建完成了。
這裏寫圖片描述

繼續,右鍵->TortoiseSVN->Repo-browser,就可以看見你剛剛新建的庫。
這裏寫圖片描述
然後,我們在庫中添加trunk、tags、branches三個文件夾,如下圖:
這裏寫圖片描述

檢出

我們新建一個文件夾workspace,這裏就是我們要檢出工程的位置。右鍵->SVN Checkout…,URL of repository填上剛剛創建的倉庫地址
這裏寫圖片描述
當然真正開發的時候我們一般只會檢出工程所在目錄,這樣只是爲方便下面的操作。

創建工程項目並提交代碼

剛剛檢出後,workspace文件夾下會出現trunk、tags、branches三個文件夾,我們在trunk文件夾模擬下寫工程代碼,創建testProject文件夾,然後在文件夾下添加test1.txt
這裏寫圖片描述
在testProject文件夾上,右鍵->add…,將工程目錄加入版本控制,然後右鍵->SVN Commit…,提交更新

tags

這時,我們發佈版本1.0但是我們要記錄源碼,我們就可以當前trunk上的代碼記錄到tags分支。
這裏寫圖片描述
我們在tags文件夾下update代碼後就可以看到version1.0的代碼了。

branches

建立branches與建立tags類似
這裏寫圖片描述

然後我們就可以在function1分支寫代碼,我們模擬一個新功能開發。update branches,在function1下的testProject中創建一個branch commit.txt,修改test1.txt的內容
這裏寫圖片描述
提交分支更新的代碼

然後我們修改主分支上的代碼,模擬修復生產問題,修改完後提交代碼

...pic7.png

合併trunk代碼到branch

這時,我們在branches的function1分支正在開發功能1,我們在主分支發現了一個bug並修復了,現在我們想把主分支修復bug的代碼合併到功能1的分支然後我們再繼續開發。
進入function1源碼所在目錄在testProject文件夾上,右鍵->TortoiseSVN->Merge,選擇Merge a range of revisions
這裏寫圖片描述
URL to merge from填入主分支目錄,如:file:///C:/work/CodeSpace/trunk/testProject

Revision range to merge填入需要合併的版本,不清楚版本的時候可以點擊後邊的Show log按鈕,
這裏寫圖片描述
圖上可以看出最近版本是9-1,所以Revision range to merge 我們填上9-1,點擊Next
這裏寫圖片描述
然後點擊Merge
這裏寫圖片描述

合併branch到trunk

我們開發完了功能1,需要把功能1的代碼合併到主分支然後發佈新版本2.0
在trunk中testProject文件夾上右鍵->TortoiseSVN->Merge,選擇Reintegrate a branch
這裏寫圖片描述
From URL填寫需要合併的分支的地址,Test Merge 測試合併結果,合併衝突後
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章