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 测试合并结果,合并冲突后
这里写图片描述

相关文章
相关标签/搜索