【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)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所 ...
随机推荐
- WPF 精修篇 管理资源字典
原文:WPF 精修篇 管理资源字典 样式太多 每个界面可能需要全局的样式 有没有肯能 WPF 中的样式 像Asp.net中 的CSS一样管理那 有的 有资源字典 BurshDictionary &l ...
- DISK2VHD 转win2008 无法启动
windows 2008R2物理机,使用微软的DISK2VHD转换成虚拟盘,挂到虚拟机上,无法启动只有光标闪.找来window2008安装盘 选择“修复windows系统”, 调出cmd命令提示符Bo ...
- kkpager 实现ajax分页查询
前台分页数据,适合数据少量的时候,因为分页的数据是从后台获取的,大数据的话不建议使用 现看前台代码: @{ Layout = null; } <!DOCTYPE html> <htm ...
- c# 开发+MySql数据库
今天就一个客户端的任务:1.把Excel文件转成特定格式插入到数据库中:2.查出该文件,并且导出Excel文件:3.如果插入数据错误,则把刚插入的数据删除掉.感觉比较简单,可是,墨迹了一天呀....总 ...
- android studio学习----Failed to resolve: com.android.support:design:22.1.1
这个目前好像没有合适的办法,唯一可行的就是 点击那个提示 进行SDK Manager下载就可以了 但是天朝的网啊,我试了很多次,突然的可以下载,运气啊 类似这一系列问题解决办法就是 重新更新SDK ...
- 通过SOFA看Java服务端如何实现运行时的模块化
本文阅读时间大约7分钟. 今天我们谈谈SOFA模块化,首先看一段SOFA的介绍: SOFABoot是蚂蚁金服开源的基于Spring Boot的研发框架,它在Spring Boot的基础上,提供了诸如 ...
- django2外键,F表达式,Q表达式
一对多 环境 两个类:书的类别和文章,一片文章只能有一个作者,一个作者可以有多个文章,这之间组成了一对多的关系 class Category(models.Model): category = mod ...
- 枚举ENUM的tostring() valueof()name()和values()用法
从jdk5出现了枚举类后,定义一些字典值可以使用枚举类型; 枚举常用的方法是values():对枚举中的常量值进行遍历; valueof(String name) :根据名称获取枚举类中定义的常量值; ...
- V4L2 API详解 Buffer的准备和数据读取
1. 初始化 Memory Mapping 或 User Pointer I/O. int ioctl(int fd, int requestbuf, struct v4l2_requestbuffe ...
- MySQL | MySQL 数据库系统(一)
## 1.什么是 MySQL 数据库? MySQL 数据库是一个关系型数据库管理系统,是服务器领域中受欢迎的开源数据库系统,目前有 Oracle 公司主要负责运营与维护: ## 2.MySQL 数据库 ...