前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【SVN】教你如何替换主干代码

【SVN】教你如何替换主干代码

作者头像
林老师带你学编程
发布2019-05-26 16:49:15
1.1K0
发布2019-05-26 16:49:15
举报
文章被收录于专栏:强仔仔强仔仔

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1435818

之前因为仅仅是写代码,所以svn的很多东西就不会涉及到,现在是有这么一个应用场景:svn的主干上面有一份代码,svn的分支上面也有一份代码,这两份代码是完全不一样的,所以不能仅仅用分支替换主干就可以了,替换也会出错的。在说问题的解决方法之前,我们先来聊聊产生这个问题的原因。

项目的第一个版本开发完之后,我们接着对这个项目进行架构升级,所以之前的项目就不能用了,我们就在分支上面新建了一个新的项目,项目的架构搭建完之后,就需要将新架构的代码放到主干上面,原先主干上面的代码要标记版本放到tags中。因为这种原因,所以我们需要将主干上面的代码替换成分支上新架构的代码。

应用场景说清楚了,接下来我们来具体聊聊解决办法。其实和分支合并到主干最大的区别就是,我们需要在合并之前将项目删除或者回到项目刚建的时候,然后再进行分支合并就可以了。当然再删除或者回滚之前一定要先将项目放入tags中,否则辛辛苦苦的写的代码可能会没了。。。。回滚项目之后我们就可以进行分支合并了,具体过程容我徐徐道来。

第一个步骤:在本地副本上进行操作,选择主干上的源代码文件,右键选择tortoiseSVN菜单,点击合并。(将trunk代码 拉回本地,checkout到本地。在trunk 代码上 使用merge)如图

第二个步骤:选择merge two different trees,如图,也可使用merge a range of revisions 但在报 from url must be ancestrally related to to url 错误的情况下选择使用第二种。

第三个步骤: 在from中选择 trunk 在to中选择 branches -> dev,由于是在trunk上把branches的代码合并过来,理所当然这里的”from”应该填trunk的路径,to选branches的路径。如图

第四个步骤:选择默认选项即可,建议合并merge时,使用test merge 来查看有多少冲突,如果冲突较多,可分多次合并,最后点击merge进行合并。合并成功后需要将主干(trunk)上合并过的文件提交到svn代码库,如图

  • 图中各项的含义:
  • -ignore ancestry : 忽略根源
  • -ignore line endings : 忽略行结尾
  • -compare whitespaces : 比较空白字符
  • -ignore whitespace changes : 忽略空白字符的变化
  • -ignore all whitespaces : 忽略所有空白字符

第五个步骤:确定合并后的代码,将主干(trunk)上合并过的文件提交commit到svn代码库

总结:

顺利的情况下过程大概就是这样,但是实际过程中肯定会出现很多问题,比如冲突、更新不了、合并不了等等的问题,这些问题我这边就不一一介绍了,大家实际遇到的时候再根据实际问题解决。有些人可能会问,未什么我在刚升级架构的时候不马上放到主干上面去呢,这是因为线上运行的版本是旧架构的项目,未了防止意外的bug出现,必须将项目留在主干上面,进行bug的快速修复。好了今天的课程就到这边了,后面的课程我会逐步和大家介绍SpringCloud微服务的内容,敬请期待~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年08月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档