1.创建本地仓库
本地硬盘中新建 TestRepo 文件夹,鼠标右键点击此文件夹,如下图所示,选择 Create repository here

选择 Create folder structure

选择 Start Repobrowser 可看到创建的默认目录结构

在仓库中创建 TestMyProject 目录,如下


2.拉取代码到本地
在 TestSVN 文件中空白处点击右键,选择 SVN Checkout...

输入仓库路径(实际中是远程仓库路径),点击右侧 ... 选择 trunk 下 TestMyProject 目录,然后填入本地存放代码路径

拉完代码效果如下,其中 TestMyProject 为空文件夹

在 TestMyProject 中创建文件 test1.txt,然后将文件加入到版本控制中,如下

加入到版本控制后,文件会显示一个蓝色的加号,然后将文件提交

3.创建分支
鼠标右键点击 TestMyProject 选择 Branch/tag...

点击右侧 ... 选择在仓库中存放分支的路径 branches,然后在 To path 中补充上要新建的分支的名字 branch-TestMyProject,点击 OK,这样分支在仓库中创建完成

4.分支拉回本地
在 TestSVN 中空白处点击鼠标右键,选择 SVN Checkout... ,点击右侧 ... 选择 branches 目录下的 branch-TestMyProject,然后选择本地存放的路径

分支拉回本地后效果如下


5.分支更新主干中的内容(主干合并到分支)
主干有更新,分支需要同步主干中的更新,在主干中新建 test2.txt ,并提交

右键本地分支,选择 Merge...

选择第一个

”URL to merge from” 填trunk的路径,理解为 “从主干合并“ 到分支,”Revision range to merge”就是要将主干的哪些revision所对应的变化合并到分支中

Merge

本地分支中可以看到 test2.txt 已经增加进来,这里只是本地分支更新了,远程分支还是没有 test2.txt,需要将新增的文件提交到仓库中

将 test2.txt 提交到仓库中,至此分支更新完成

6.分支合并到主干
与主干合并到分支没什么区别,类似。
注意
合并之前保证本地代码和svn代码都是最新的,先更新,再提交,减少冲突。
网友评论