关于SVN分支合并的实践

最近搞一个公司不是很大的项目,这个项目最近需要预上线,然后svn的当前版本的项目暂时达到预上线标准,然后我又还想往项目添加新功能,为了不影响当前可上线的版本,我尝试一下svn的分支合并(公司没有使用svn分支的经验,只能亲身尝试一下咯)。

首先,应该将当前版本全部提交到svn,保护好项目,即使接下来的操作有误也不会影响到项目。

一 创建分支(branche)

将一个存在于svn的项目创建分支项目。我以一个test-demo作为示例。
在这里插入图片描述
选中项目右键–>team–>选择分支/标记
在这里插入图片描述
注意一下

  1. 红框的这个url 是分支的地址,意思就是你要将主干项目copy到哪里去,上例我将主干项目copy到预建好的branches目录下面。项目名+日期
  2. 这个url 可以手敲路径或者浏览路径

点击next
在这里插入图片描述
我们选择第一项,然后点击next
在这里插入图片描述
输入日志描述,然后勾选切换到新分支,点finish,就完成了,在branches目录下创建了一个跟主干项目完全一样的。
在这里插入图片描述

二 合并主干到分支

按照我当前这个项目,只有我一个人开发,其实是不需要的这个步骤。那为什么会有合并主干到分支这一步骤呢?
假设有两个开发人员,甲负责项目的bug修改、代码优化、增删文件等,乙(就是我)在分支埋头干了半个月,然后同步到主干项目时候发现,擦咧,什么鬼,基于xxx.java开发的类没有了?某个接口不能使用了?会出现假设的问题,所以我们在主干跟分支并行开发的时候,分支需要经常跟主干同步。
在这里插入图片描述
我在trunk项目作了两个改动, 修改了HelloController.java,以及新增了Hello2Controller.java,然后提交到svn。

选中branche项目右键–>team–>选择合并(merger)
在这里插入图片描述
选择第一项,合并某个范围的版本,点next
在这里插入图片描述
url选择的是trunk项目的路径,下方有两个选项,第二个箭头是可以选择某个提交的版本作为同步,看下图,选择完修订版,next,或者可以直接点击finish。
在这里插入图片描述

我选的是第一项,同步所有修订版本,点击next
在这里插入图片描述
是一些发生冲突情况的选择项,我选择默认选项,点击finish。
在这里插入图片描述
最后可以看到update了一个文件,add了一个文件。

三 合并分支到主干

branche项目经过一段时间开发、测试之后,我们就需要合并回trunk。

在这里插入图片描述
在本例的branche项目,我把Hello2Controller.java删掉了,新增了Hello3Controller.java。
其实步骤跟上面大同小异,但是这里要注意的是,merge的时候,是以trunk项目来操作。url换成是branche项目的路径。

四 分支和主干项目之间的切换

选中项目右键–>team–>选择切换(switch)
更换一下url,直接finish,就完成切换了。
在这里插入图片描述

文章到这里其实就结束了,第一次发布文章,可能存在很多的不足,但是就是要记录一下。

扫描二维码关注公众号,回复: 4360965 查看本文章

猜你喜欢

转载自blog.csdn.net/godbrian/article/details/83212644