前言
现在 GIT 确实是最火的 版本控制。 SVN 有被淘汰的感觉。但是。在小型团队中,不需要这种大范围的代码提交以及修改的情况下。
用 SVN 的效率并不会弱于 GIT 。尤其是目前 GIT 偶尔会出现一些小问题。(我不知道大家有没有,不过我在使用的时候,偶尔会产生连接不上 GIT,或者网速奇慢无比的情况。估计是 ... 墙?)
1. 前期准备
首先打开 svn 官网(http://subversion.apache.org/...
然后找到适合自己的 svn 版本下载。
这里,我下载的是 visualSVN,所以以下都以 visualSVN Server为基准
然后可以选择个人使用版,免费使用,尊重版权
2. 基本命令
注: 以下所有的命令都默认带有前缀 svn
- svnadmin create 创建版本库
注:svnadmin create .
:在当前位置建立版本库 - svnserve -d -r 目录: 使用命令svnserve启动服务
- checkout 从版本库创建工作副本
用于从另外一台计算机上初始化目录。 - update 从版本库更新工作副本
- add 添加文件
- commit 对版本库进行更改
-m : 添加注释 - status 复查变化
- revert 修复错误,重置操作,版本回退
-R : 恢复目录 - merge 自动处理安全合并
- resolve 解决冲突
-
分支操作
- copy 创建分支
copy main/ branches/my_branch
: 为 main 创建分支 branches/my_branch - cd 切换分支
cd branches/my_branch
: 切换到分支 branches/my_branch - merge 融合分支
1.cd main - 2. update - 3.merge ../branches/my_branch
: 切换到分支main,然后更新,再整合分支
- copy 创建分支
-
创建标签
-
copy main/ tags/01
:创建新目录tags
-
-
查看历史:
- log: 用来展示svn 的版本作者、日期、路径等等。
- diff: 用来显示特定修改的行级详细信息。
- cat: 取得在特定版本的某文件显示在当前屏幕。
- list: 显示一个目录或某一版本存在的文件。
下面介绍图形界面 visualSVN Server 。
3. visualSVN Server介绍
直接在 visualSVN Server 中 可以完成一切关于SVN的操作,更加的方便。
4. 整合 idea
1. 上传至服务端
当你写好一个项目,准备开始上传至SVN时,应该怎么办呢
首先打开一个新的项目,然后按照图示操作
选择一个仓库,进行上传
然后 share 。会让你选择 模式与 帐户密码
下面完成真正的上传操作
-
Reformat code
格式化代码,如果是 Web 开发建议不要勾选,因为格式化 JSP 类文件,格式化效果不好。如果都是 Java 类则可以安心格式化。 -
Rearrange code
重新编排代码,IntelliJ IDEA 支持各种复杂的编排设置选项,这个会在后面说。设置好了编码功能之后,这里就可以尝试勾选这个进行自动编排。 -
Optimize imports
优化导入包,会在自动去掉没有使用的包。这个建议都勾选,这个只对 Java 类有作用,所以不用担心有副作用。 -
Perform code analysis
进行代码分析,这个建议不用在提交的时候处理,而是在开发完之后,要专门养成对代码进行分析的习惯。IntelliJ IDEA 集成了代码分析功能。 -
Check TODO
检查代码中的 TODO。 -
Cleanup
清除下版本控制系统,去掉一些版本控制系统的错误信息,建议勾选。
注: 这里的 Perform code analysis 是默认勾选的,但是这个有点坑,可能会出现你在代码里写的是对的,完全可以跑起来,但是不能上传的情况,所以,真的不建议大家勾选,其他的,看个人喜好
这样,将服务端的代码就创建好了,下面开始模拟在客户端 checkout 的情况
2. 从服务端整合代码
首先设置
进入后,是这一个界面
这里是为了,解决以下这种错误的出现
Cannot load supported formats: Cannot run program "svn"; CreateProcess error =2,系统找不到指定的文件
然后,我们继续
在下面的这个框里,写下你在 visualSVN 界面下找到的 url,然后点击 checkout
注意,如果,你设置了权限的话,需要输入,才能连接
然后按下图操作
当出现这种情况时,有以下两种方式使用。
- 继续创建
- 放弃,导出到对应的项目名称的文件夹下。
这个博主(http://blog.csdn.net/qq_27093...给出了 第二种方法的使用,那我就给出第一种方法的使用。
然后一路确定就可以了
最后的界面是这样子的。。。
3. 界面的介绍
默认界面
对于没有版本的文件,也就是新创建的文件,右键后选择添加即可。
创建 changelist
这里的 changelist 是 idea 独有的一个概念
可以将不同的文件归为不同的类别,然后分别提交
我们点击 加号
可以创建 changelist 这里,我就不展示了。
这里有三个 changelist
可以选中其中之一,然后点击提交。这样只会提交这一个 list ,而不会影响到其他的。
我认为极大的提高了效率。
当你想要移动文件到其他的分支时,可以右键这个文件,然后选择其他分支。
这里我移动到了test_02分支下,这是效果图。
忽视界面
下面是针对性的忽视某些文件。
这里更正一下,上下的介绍相反了。。。 对不住各位。
点击加号后,有三个选项
- 按照详细文件忽视
- 按照文件夹忽视
- 按照正则表达式忽视
这里我选择三,因为大家上传时,除了第一个人,一般不会将 .iml 文件上传。
所以将其忽视。
最后的效果如下图
可以看出,这里的 .iml 文件显示为灰黄色,所以不会改变。
注: idea 默认会将 target 文件夹收入 ignore 中,所以不用手动设置 .
提交界面
再往下走,我们点击 提交。会显示如下的界面。
上文虽然简单的介绍过,不过这里再介绍下。
- Reformat code 格式化代码,如果是 Web 开发建议不要勾选,因为格式化 JSP 类文件,格式化效果不好。如果都是 Java 类则可以安心格式化。
- Rearrange code 重新编排代码,IntelliJ IDEA 支持各种复杂的编排设置选项,这个会在后面说。设置好了编码功能之后,这里就可以尝试勾选这个进行自动编排。
- Optimize imports 优化导入包,会在自动去掉没有使用的包。这个建议都勾选,这个只对 Java 类有作用,所以不用担心有副作用。
- Perform code analysis 进行代码分析,这个建议不用在提交的时候处理,而是在开发完之后,要专门养成对代码进行分析的习惯。IntelliJ IDEA 集成了代码分析功能。
- Check TODO 检查代码中的 TODO。
- Cleanup 清除下版本控制系统,去掉一些版本控制系统的错误信息,建议勾选。
- update copyright 。。。不认识。
5. 优化。
这里可以决定用什么来作 版本控制
然后是选择添加和删除文件时默认的一些设置
基本是三个套路
- 通知你让你选择
- 默认做,你不知道
- 默认不做
这里是一些 ignore 的文件。
然后就是关于 subversion 的配置
第一个不要 打勾,不然可能会出现问题。
第二个是说你是否自己选择 SVN 的目录。这里如果你将 SVN 设置为 环境变量的话,一般不需要选择。
第三个默认就好,不会影响项目。
然后还有一个插件,可以帮助关闭SVN。
下载这个插件后,重启。就可以使用了。
从 VCS 中可以找到这个插件。非常的方便。
总结
以上就是我在使用 SVN 时的一些步骤,应付基本的业务使用,应该是没有问题的。
至于更深入的使用,我想公司里会有专人负责版本控制的吧。
码字不易。。。 新人打滚求关注,求点赞。
撒花,谢谢各位大佬。
下面是我的私人博客 killCode 阅读效果更好哟