【SVN】教你如何替换主干代码
之前因为仅仅是写代码,所以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】教你如何替换主干代码相关推荐
- SVN主干代码合并到分支(trunk to branch)
SVN主干代码合并到分支 在团队项目开发中,我们利用svn 来管理项目代码:经常为主干项目创建分支项目进行并行开发,提高项目开发效率.本文主要讲述 如何使用svn客户端 将svn 主干项目中的代码合并 ...
- SVN创建分支 并且把分支代码合并到主干
从主干拉取分支 svn服务上仓库目录结构: 拉取主干代码: 切换拉取的代码 由"主干位置" 到 "新建分支" 位置 当前主干代码位置 创建分支,并且把当前代码s ...
- java+set+split_阿里资深工程师教你如何优化 Java 代码!
原标题:阿里资深工程师教你如何优化 Java 代码! 作者 | 王超 责编 | 伍杏玲 明代王阳明先生在<传习录>谈为学之道时说: 私欲日生,如地上尘,一日不扫,便又有一层.着实用功,便见 ...
- java.lang.Instrument 动态修改替换类代码
java.lang.Instrument 动态修改替换类代码 | java.lang.Instrument包是在JDK5引入的,程序员通过修改方法的字节码实现动态修改类代码. 这通常是在类的main方 ...
- 回滚master代码_Git之master主干代码回滚
本节概览:通过git revert来实现线主干代码的回滚.如下命令 对于 merge类型的commit对象,还需要"-m"参数 git revert -m 1 commit-id ...
- 手把手教你调试Linux C++ 代码(一步到位包含静态库和动态库调试)
手把手教你调试Linux C++ 代码 软件调试本身就是一项相对复杂的活动,他不仅要求调试者有着清晰的思路,而且对调试者本身的技能也有很高的要求.Windows下Visual Studio为我们做了很 ...
- Git将分支代码合并到主干/将主干代码合并到分支
分支代码合并到主干: https://www.cnblogs.com/eastwjn/p/9729494.html 主干代码合并到分支: https://blog.csdn.net/wl_public ...
- java复制屏幕文本内容_网页上的文字内容不给复制?电脑老司机教你输入一串代码,轻松复制...
原标题:网页上的文字内容不给复制?电脑老司机教你输入一串代码,轻松复制 我们有时候需要一些资料就会去网上查资料,有的时候我们需要把这些资料的文字给复制下来.但并不是所有的资料都能直接复制的,不是登陆账 ...
- 直播代码中关于敏感词替换的代码编辑
想要在直播代码中实现字符串过滤的方式有很多种,每种编程语言都有相应的处理方式,且因语言不同,其所使用的函数也有所不同,但最终的目的都是为达到用户的绿色上网.安全上网,呈现给用户一种安全舒适的上网环境. ...
最新文章
- 视频|深度相机与应用
- tronado restful
- 示波器1m和50欧姆示阻抗匹配_为什么示波器阻抗偏偏是1M和50欧?-测试测量-与非网...
- SCCM 2012 R2 从入门到精通 Part2 部署准备
- 25_android下文件访问的权限
- 如何让jQuery执行同步而不是异步的Ajax请求?
- 用c语言覆盖前一个字符的值,C/C++笔试题
- kendoGrid动态列的实现-高级查询结果展示优化过程
- STM32笔记之 SWJ(JTAG-DP和 SW-DP)
- 专业英语(电子、通信)单词集
- 两组数据的偏差率_析数据 察得失 明对策 促提高 —记东升一中2021级月考二成绩分析会...
- 小红书口碑营销怎么做?小红书笔记结构剖析及场景营销
- Android+如何导出微信照片,【每天3分钟】微信占了好多G,教你一步批量提取微信照片并清理空间...
- 伤心----------绝望
- php screw 密钥,php加密 php_screw Web程序 - 贪吃蛇学院-专业IT技术平台
- 浅谈分布式架构的几种主要开发方式
- 新推荐个百度网盘不限速下载神器
- Linux系统配置网卡ip地址
- java day1 Markdown学习,Windows常用快捷键及常见的dos命令
- react-emotion_如何使用Web Speech API和Node.js构建语音转Emotion Converter