【IntelliJ IDEA学习之八】版本控制之SVN
版本:IntelliJIDEA2018.1.4
一、SVN
1、安装SVN客户端,command line client tools默认是不安装的,这里要勾选上(不用重新卸载安装,只找到安装程序,选择 Modify 增加选择 command line client tools ,即可在安装bin目录下看到 svn.exe)。


2、配置
(1)设置使用SVN作为版本控制工具。

(2)VCS全局配置
可以指定工程或者目录使用不同的VCS控制工具:

(3)配置检测更新

(4)新增和删除文件时操作

(5)版本忽视文件列表

3、面板介绍
(1)VCS工具栏和VCS面板:

(2)工具栏

第1个按钮:Update Project 更新项目。
第2个按钮:Commit changes 提交项目上所有变化文件。点击这个按钮不会立马提交所有文件,而是先弹出一个被修改文件的一个汇总框。
第3个按钮:Compare with the Same Repository Version 当前文件与服务器上该文件相同版本的内容进行比较。如果当前编辑的文件没有修改,则是灰色不可点击。
第4个按钮:Show history 显示当前文件的历史记录。
第5个按钮:Revert 还原当前被修改的文件到未修改的版本状态下。如果当前编辑的文件没有修改,则是灰色不可点击。
一般1,2是不常用的,因为在这个地方提交更新和下载更新,给你的感觉有点不清不楚的感觉。所以,在这一般不使用这2个按钮。
最常用的就是后面的3个,第3个按钮就是在你把当前文件已经修改过了,有和svn库里面的代码做对比,那么就可以直接点击这个按钮,然后就可以直接看文件修改前后的差别啦。
第4个也常用,就是查看当前文件的提交历史,点击之后,当前文件的历史修改记录就都会呈现在眼前啦。
第5个按钮,就是你放弃对当前文件的修改,直接回撤到和最新库里一致的状态。
(3)VCS面板之Local Changes

(4)VCS面板之Repository

(5)VCS面板之Incoming

(6)VCS面板之Subversion Working Copies Infomation

(7)Shelf

4、操作
4.1检出项目
(1)选择Subversion检出项目
两个地方操作:


(2)添加选择SVN地址

(3)选择导出目录

(4)选择导出版本

指定导出版本

(5)设置工作目录SVN版本

(6)工程相关的一系列配置:

使用SVN上代码创建工程使用的是导入模式,所以会弹窗按导入模式创建工程







(7)当检出工程是maven工程的时候,会提示:

点击 “Add as Maven Project”,会加载相关依赖jar。
(8)忽视非版本文件

检出之后project目录:

会生成.idea文件夹和*.iml文件,这俩东西可能被idea配置隐藏了,按照如下操作来显示:


然后在VCS面板来忽视这些不需要版本管理的目录和文件:


4.2 Local Changes操作
(1)修改文件列表分组 Changelist
针对不同的需求目的,将修改的文件分组,便于区分

(2)提交代码


Reformat code 格式化代码,如果是 Web 开发建议不要勾选,因为格式化 JSP 类文件,格式化效果不好。如果都是 Java 类则可以安心格式化。如果只是格式化你写的代码就行,项目是很多人在不同的时间段写的,所以,不要随便格式化别人的代码,那样版本控制就会显得乱七八糟。你写的代码肯定要记的格式化一下。
Rearrange code 重新编排代码,IntelliJ IDEA 支持各种复杂的编排设置选项,这个会在后面说。设置好了编码功能之后,这里就可以尝试勾选这个进行自动编排。
Optimize imports 优化导入包,会在自动去掉没有使用的包。这个建议都勾选,这个只对 Java 类有作用,所以不用担心有副作用。
Perform code analysis 进行代码分析,这个建议不用在提交的时候处理,而是在开发完之后,要专门养成对代码进行分析的习惯。IntelliJ IDEA 集成了代码分析功能。
Check TODO 检查代码中的 TODO。
Cleanup 清除下版本控制系统,去掉一些版本控制系统的错误信息,建议勾选。
优化导入包的、分析代码、check todo 这些都是在开发过程中要做的,不要等着到提交的时候再处理。
(3)加入版本控制

4.3 Incoming操作
更新代码


如果代码和本地代码存在冲突:

点击merge

左边的是local,也就是本地的,你修改的,右边的是server,也就是 服务器上的,中间的就是result,也就是合并结果。再注意,右上角那地方,有个数字,也就是简单的总结下冲突和变更的个数
4.4 其他技巧
(1)代码编辑


(2)其他操作


参考:
IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结
【IntelliJ IDEA学习之八】版本控制之SVN的更多相关文章
- 【IntelliJ IDEA学习之九】版本控制之Git和Github
版本:IntelliJIDEA2018.1.4 [IntelliJ IDEA学习之九]版本控制之Git版本:IntelliJIDEA2018.1.4 一.git知识准备git是目前流行的分布式版本管理 ...
- 版本控制工具SVN学习
教学视频链接:https://edu.aliyun.com/course/83?spm=5176.10731334.0.0.778e6580zC0Ri0 版本控制工具SVN学习 1,SVN的简介 在实 ...
- [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)
[.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VS ...
- IntelliJ IDEA 下的版本控制介绍
不管是个人开发或是团队开发,版本控制都是可以很好地被使用的,目前我找不到任何开发者不使用版本控制的理由.而且对于 IDE 来讲,集成版本控制的本身就是它最大的亮点之一,很多开发者也是为此而使用它. 在 ...
- intellij idea 学习
intellij idea是一个java的ide.由jetbrain开发. intellij idea快捷键 快捷键 说明 备注 Ctrl+N 快速导航到类 类似于Resharper中的C ...
- 十二、IntelliJ IDEA 中的版本控制介绍(中)
由于 IntelliJ IDEA 支持的版本控制工具非常的多,但咱们真正能够用到的也就两三个而已,因此在本篇博文中,咱们主要介绍 SVN.Git 和 GitHub 的配置方法. SVN 如果想要在 I ...
- 十一、IntelliJ IDEA 中的版本控制介绍(上)
咱们已经了解了很多关于 IntelliJ IDEA 的使用方法,至少可以独立的运用 IntelliJ IDEA 进行项目开发啦!但是一个人进行项目开发更趋向于理想化,更多的则是团队协同开发.这时,咱们 ...
- 团队项目开发中,常见的版本控制有svn,git
团队项目开发中,常见的版本控制有svn,git
- 版本控制、SVN、VSS
ylbtech-Miscellaneos: 版本控制.SVN.VSS 1.A,版本控制返回顶部 1, 版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所 ...
随机推荐
- JS中判断是中文数字的函数
function checkcnnum(str) { ; const zh = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九','十','百','千 ...
- 一个JS正则的字符串替换函数
直接上函数吧 不废话 function replacestring(oldstr,newstr,text) { var exp = new RegExp(oldstr,'g'); var c=tex ...
- Spring Boot AOP之对请求的参数入参与返回结果进行拦截处理
Spring Boot AOP之对请求的参数入参与返回结果进行拦截处理 本文链接:https://blog.csdn.net/puhaiyang/article/details/78146620 ...
- windows10 edge浏览器关闭没有提示如何解决
通常情况下,用户在win10 edge中打开多个窗口,点击关闭按钮就会出现“要关闭所有标签”提示,然后可以点击 取消来取消关闭edge.不过,最近一位windows10系统用户反馈自己在一次勾选“总是 ...
- javascript(六)运算符
运算符概述 JavaScript中的运算符用于算术表达式. 比较表达式. 逻辑表达式. 赋值表达式等.需要注意的是, 大多数运算符都是由标点符号表示的, 比如 "+" 和" ...
- 数据库——可视化工具Navicat、pymysql模块、sql注入问题
数据库--可视化工具Navicat.pymysql模块.sql注入问题 Navicat可视化工具 Navicat是数据库的一个可视化工具,可直接在百度搜索下载安装,它可以通过鼠标"点点点&q ...
- doucment的获取节点的信息
document.activeElement 返回当前获取焦点元素 document.addEventListener() 向文档添加句柄 document.adoptNode(node) 从另外一个 ...
- linq to js 用法
/** * 排序汇总 * */ var result = Enumerable.From(vm.productList).GroupBy("$.goods_id", null, f ...
- springboot入门介绍
1. SpringBoot学习之@SpringBootApplication注解 下面是我们经常见到SpringBoot启动类代码: @SpringBootApplicationpublic clas ...
- Ubuntu18.04 Pycharm下ModuleNotFoundError: No module named 'deeplab'
1.根据https://www.cnblogs.com/zmbreathing/p/deeplab_v3plus.html在终端中成功运行deeplab的test文件后,在pycharm中出现问题: ...