之前因为仅仅是写代码,所以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微服务的内容,敬请期待~

要更多干货、技术猛料的孩子,快点拿起手机扫码关注我,我在这里等你哦~

【SVN】教你如何替换主干代码相关推荐

  1. SVN主干代码合并到分支(trunk to branch)

    SVN主干代码合并到分支 在团队项目开发中,我们利用svn 来管理项目代码:经常为主干项目创建分支项目进行并行开发,提高项目开发效率.本文主要讲述 如何使用svn客户端 将svn 主干项目中的代码合并 ...

  2. SVN创建分支 并且把分支代码合并到主干

    从主干拉取分支 svn服务上仓库目录结构: 拉取主干代码: 切换拉取的代码 由"主干位置" 到 "新建分支" 位置 当前主干代码位置 创建分支,并且把当前代码s ...

  3. java+set+split_阿里资深工程师教你如何优化 Java 代码!

    原标题:阿里资深工程师教你如何优化 Java 代码! 作者 | 王超 责编 | 伍杏玲 明代王阳明先生在<传习录>谈为学之道时说: 私欲日生,如地上尘,一日不扫,便又有一层.着实用功,便见 ...

  4. java.lang.Instrument 动态修改替换类代码

    java.lang.Instrument 动态修改替换类代码 | java.lang.Instrument包是在JDK5引入的,程序员通过修改方法的字节码实现动态修改类代码. 这通常是在类的main方 ...

  5. 回滚master代码_Git之master主干代码回滚

    本节概览:通过git revert来实现线主干代码的回滚.如下命令 对于 merge类型的commit对象,还需要"-m"参数 git revert -m 1  commit-id ...

  6. 手把手教你调试Linux C++ 代码(一步到位包含静态库和动态库调试)

    手把手教你调试Linux C++ 代码 软件调试本身就是一项相对复杂的活动,他不仅要求调试者有着清晰的思路,而且对调试者本身的技能也有很高的要求.Windows下Visual Studio为我们做了很 ...

  7. Git将分支代码合并到主干/将主干代码合并到分支

    分支代码合并到主干: https://www.cnblogs.com/eastwjn/p/9729494.html 主干代码合并到分支: https://blog.csdn.net/wl_public ...

  8. java复制屏幕文本内容_网页上的文字内容不给复制?电脑老司机教你输入一串代码,轻松复制...

    原标题:网页上的文字内容不给复制?电脑老司机教你输入一串代码,轻松复制 我们有时候需要一些资料就会去网上查资料,有的时候我们需要把这些资料的文字给复制下来.但并不是所有的资料都能直接复制的,不是登陆账 ...

  9. 直播代码中关于敏感词替换的代码编辑

    想要在直播代码中实现字符串过滤的方式有很多种,每种编程语言都有相应的处理方式,且因语言不同,其所使用的函数也有所不同,但最终的目的都是为达到用户的绿色上网.安全上网,呈现给用户一种安全舒适的上网环境. ...

最新文章

  1. 视频|深度相机与应用
  2. tronado restful
  3. 示波器1m和50欧姆示阻抗匹配_为什么示波器阻抗偏偏是1M和50欧?-测试测量-与非网...
  4. SCCM 2012 R2 从入门到精通 Part2 部署准备
  5. 25_android下文件访问的权限
  6. 如何让jQuery执行同步而不是异步的Ajax请求?
  7. 用c语言覆盖前一个字符的值,C/C++笔试题
  8. kendoGrid动态列的实现-高级查询结果展示优化过程
  9. STM32笔记之 SWJ(JTAG-DP和 SW-DP)
  10. 专业英语(电子、通信)单词集
  11. 两组数据的偏差率_析数据 察得失 明对策 促提高 —记东升一中2021级月考二成绩分析会...
  12. 小红书口碑营销怎么做?小红书笔记结构剖析及场景营销
  13. Android+如何导出微信照片,【每天3分钟】微信占了好多G,教你一步批量提取微信照片并清理空间...
  14. 伤心----------绝望
  15. php screw 密钥,php加密 php_screw Web程序 - 贪吃蛇学院-专业IT技术平台
  16. 浅谈分布式架构的几种主要开发方式
  17. 新推荐个百度网盘不限速下载神器
  18. Linux系统配置网卡ip地址
  19. java day1 Markdown学习,Windows常用快捷键及常见的dos命令
  20. react-emotion_如何使用Web Speech API和Node.js构建语音转Emotion Converter

热门文章

  1. 刀剑封魔录多功能修改器 v1.2使用教程
  2. HTML在线编辑器(HTML+js)
  3. 关于GetProcAddress返回错误代码为127的解决方案
  4. spark 实现大表数据关联
  5. 精灵图(sprite)CSS动画实现
  6. 买新不买旧?选购固态硬盘的几点建议
  7. 区块链对电商的三大革命
  8. 水经注离线三维地球触摸GIS系统
  9. 最新代码大全《让你成为空间明星》
  10. 神舟 linux支持内存插槽,关于在神舟电脑里折腾linux的诸多麻烦