版本控制 -- SVN 整合 idea

前言

现在 GIT 确实是最火的 版本控制。 SVN 有被淘汰的感觉。但是。在小型团队中,不需要这种大范围的代码提交以及修改的情况下。
用 SVN 的效率并不会弱于 GIT 。尤其是目前 GIT 偶尔会出现一些小问题。(我不知道大家有没有,不过我在使用的时候,偶尔会产生连接不上 GIT,或者网速奇慢无比的情况。估计是 … 墙?)

1. 前期准备

首先打开 svn 官网(http://subversion.apache.org/packages.html#windows)
然后找到适合自己的 svn 版本下载。
这里,我下载的是 visualSVN,所以以下都以 visualSVN Server为基准

然后可以选择个人使用版,免费使用,尊重版权

2. 基本命令

注: 以下所有的命令都默认带有前缀 svn

  1. svnadmin create 创建版本库
    注: svnadmin create .:在当前位置建立版本库
  2. svnserve -d -r 目录: 使用命令svnserve启动服务
  3. checkout 从版本库创建工作副本
    用于从另外一台计算机上初始化目录。
  4. update 从版本库更新工作副本
  5. add 添加文件
  6. commit 对版本库进行更改
    -m : 添加注释
  7. status 复查变化
  8. revert 修复错误,重置操作,版本回退
    -R : 恢复目录
  9. merge 自动处理安全合并
  10. resolve 解决冲突
  11. 分支操作
    • 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,然后更新,再整合分支
  12. 创建标签
    • copy main/ tags/01:创建新目录tags
  13. 查看历史:
    • log: 用来展示svn 的版本作者、日期、路径等等。
    • diff: 用来显示特定修改的行级详细信息。
    • cat: 取得在特定版本的某文件显示在当前屏幕。
    • list: 显示一个目录或某一版本存在的文件。

下面介绍图形界面 visualSVN Server

3. visualSVN Server介绍

1
2
3
4
5

直接在 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. 从服务端整合代码

首先设置

进入后,是这一个界面

这里是为了,解决以下这种错误的出现

1
Cannot load supported formats: Cannot run program "svn"; CreateProcess error =2,系统找不到指定的文件

然后,我们继续

在下面的这个框里,写下你在 visualSVN 界面下找到的 url,然后点击 checkout

注意,如果,你设置了权限的话,需要输入,才能连接
然后按下图操作





当出现这种情况时,有以下两种方式使用。

  1. 继续创建
  2. 放弃,导出到对应的项目名称的文件夹下。

这个博主(http://blog.csdn.net/qq_27093465/article/details/74898489)给出了 第二种方法的使用,那我就给出第一种方法的使用。



然后一路确定就可以了
最后的界面是这样子的。。。

3. 界面的介绍

默认界面


对于没有版本的文件,也就是新创建的文件,右键后选择添加即可。

创建 changelist

这里的 changelist 是 idea 独有的一个概念
可以将不同的文件归为不同的类别,然后分别提交

我们点击 加号
可以创建 changelist 这里,我就不展示了。

这里有三个 changelist
可以选中其中之一,然后点击提交。这样只会提交这一个 list ,而不会影响到其他的。
我认为极大的提高了效率。


当你想要移动文件到其他的分支时,可以右键这个文件,然后选择其他分支。

这里我移动到了test_02分支下,这是效果图。

忽视界面

下面是针对性的忽视某些文件。

这里更正一下,上下的介绍相反了。。。 对不住各位。



点击加号后,有三个选项

  1. 按照详细文件忽视
  2. 按照文件夹忽视
  3. 按照正则表达式忽视
    这里我选择三,因为大家上传时,除了第一个人,一般不会将 .iml 文件上传。
    所以将其忽视。
    最后的效果如下图

可以看出,这里的 .iml 文件显示为灰黄色,所以不会改变。
注: idea 默认会将 target 文件夹收入 ignore 中,所以不用手动设置 .

提交界面

再往下走,我们点击 提交。会显示如下的界面。
上文虽然简单的介绍过,不过这里再介绍下。


  1. Reformat code 格式化代码,如果是 Web 开发建议不要勾选,因为格式化 JSP 类文件,格式化效果不好。如果都是 Java 类则可以安心格式化。
  2. Rearrange code 重新编排代码,IntelliJ IDEA 支持各种复杂的编排设置选项,这个会在后面说。设置好了编码功能之后,这里就可以尝试勾选这个进行自动编排。
  3. Optimize imports 优化导入包,会在自动去掉没有使用的包。这个建议都勾选,这个只对 Java 类有作用,所以不用担心有副作用。
  4. Perform code analysis 进行代码分析,这个建议不用在提交的时候处理,而是在开发完之后,要专门养成对代码进行分析的习惯。IntelliJ IDEA 集成了代码分析功能。
  5. Check TODO 检查代码中的 TODO。
  6. Cleanup 清除下版本控制系统,去掉一些版本控制系统的错误信息,建议勾选。
  7. update copyright 。。。不认识。

5. 优化。

这里可以决定用什么来作 版本控制

然后是选择添加和删除文件时默认的一些设置

基本是三个套路

  1. 通知你让你选择
  2. 默认做,你不知道
  3. 默认不做

这里是一些 ignore 的文件。

然后就是关于 subversion 的配置

第一个不要 打勾,不然可能会出现问题。
第二个是说你是否自己选择 SVN 的目录。这里如果你将 SVN 设置为 环境变量的话,一般不需要选择。
第三个默认就好,不会影响项目。

然后还有一个插件,可以帮助关闭SVN。

下载这个插件后,重启。就可以使用了。

从 VCS 中可以找到这个插件。非常的方便。

总结

以上就是我在使用 SVN 时的一些步骤,应付基本的业务使用,应该是没有问题的。
至于更深入的使用,我想公司里会有专人负责版本控制的吧。

码字不易。。。 新人打滚求关注,求点赞
撒花,谢谢各位大佬。

下面是我的私人博客 killCode 阅读效果更好哟

0%