前言工作中一直在svn客户端update和commit,对svn其他操作比如:分支,合并,Tag等一般是开发老大来负责,总是有点没有彻底弄清,而这些才是版本管理的核心,版本管理作为开发的一部分还是很有必要掌握的。最好的学习办法就是自己搭建一个svn服务器,测试一下便知。 1.安装TortoiseSVN客户端 2.安装Visual SVN Server服务端,新建代码仓库测试SVN 配置Visual SVN Server
image.png
image.png 测试几个操作: 代码回滚比如我现在要回滚到新建项目: image.png 右键》revert to this revision,操作后本地代码就变了,然后commit即可。 建立Tag作用:每次正式发版比如1.0 ,1.2, 2.0等,都要备份代码,方便以后直接获取某个版本的源码,主要要在svn server上设置只读属性
image.png
image.png 建立分支参考:http://blog./106868/ 作用:比如1.0已经发版了,现在正在trunk上开发1.2的项目,突然有紧急bug需要修复,那么之前建立的1.0 tag就发挥作用了,直接拉取一个分支1.0_sp1,把这个svn路径告诉开发人员,在这上面改bug提交发版,这个版本一般命名为1.0.1,并且要再次打一个tag. 建立分支步骤和上面打tag操作一模一样,只不过path不一样,比如是branch/1.0_sp1,完成后看下svn server有三个文件夹:对应3个svn路径
image.png 合并分支到主干,解决冲突现在紧急bug改完了,如果1.0_sp1不需要了,那么把这些代码合并到trunk:到本地trunk目录右键merge》merge a range of versions》填写分支路径,其他默认》一路Next。 这里我制造一个冲突:1.0_sp1和trunk改动了同一份文件setting.gradle的同一行代码。合并提示报错,有冲突: image.png 我准备手动解决冲突,点击Edit conflict,进入冲突解决界面,可以看出14行冲突了 image.png 解决冲突的办法很简单,二选一:分支 or 主干,这里我用分支代码覆盖主干,在14行右键use this text block,然后save关闭当前窗口,到之前的提示界面点击Resolved。成功解决冲突,然后提交代码,这样分支代码成功合并到主干了。
本文转自:简书 微信号:IdeaofSE |
|