前言
什么是SVN?
就是一个代码版本管理工具,可以类比认为就是git。
可以做到
- 代码版本管理工具
- 记住每次的修改
- 查看所有的修改记录
- 恢复到任意的历史版本
- 恢复已经删除的文件
相比于git
- 比较简单(emmmm 难评)
- 目录级别的权限管理 ,对于企业安全管理很有帮助(git确实做不到)
- 子目录Checkout(切换分支),减少不必要的文件检出
SVN仓库
推荐 https://svnbucket.com/ ,目前比较好用的的SVN管理工具
基本操作
创建拉取项目
官网顶部创建项目->创建完成后,复制项目地址
然后到目标目录,右键检出,URL会自动填好,输出目录默认当前文件夹
接着就是认证,填写之前网站登录用的用户名和密码即可。
提交
右键,SVN提交
勾选需要提交的部分,并可以写日志
撤销和恢复
本地撤销
右键,会出现一个SVN还原,还原本地做的修改
双击文件,可以在对比之后再撤销修改
确认没有问题后,可以出来,再右键文件彻底还原
再次确认后即可
远程撤销
在文件夹右键,到SVN然后右键看到提交日志
撤销版本,可以右键复原此版本做出的修改
同时可以选择指定的版本,然后复原到指定位置
忽略文件和文件夹
有时候不想提交某些文件,就可以进行一个指定的忽略,按照需求匹配即可。本质是属性的改变,添加到了忽略文件夹(毕竟要保证撤销时候可以恢复)
解决冲突
什么时候有冲突?
多个人修改同个文件的同一行(不同行一般会进行自动合并)
无法进行合并的二进制文件
对于下面这个情况,右键单独更新store,结果产生了冲突
.mine是本地的,r7和r9表示不同的版本,此时会有几个选择。可以使用他们的或者我的来解决冲突,同时可以编辑合并冲突。
一般编辑器能合并的都会合并,无法合并的地方就会标红,需要再注意一下
对于上面的,挑选出认为正确的,右键使用文本块
二进制文件有时很难查看,因此直接选择正确版本即可。
SVN版本分支
用来不干扰他人和分离开发测试版本用的