第一部分,准备工作

到IDEA的配置下设置SVN命令,一般来说,IDEA已经设置好了,如果没有自己找到存放SVN命令的目录,将SVN配置进去,命令应该存放在/Library/Developer/CommandLineTools/usr/bin/

注:功能解释

1.Update Project 更新项目

2.Commit changes 提交项目上所有变化文件

3.Compare with the Same Repository Version 当前文件与服务器上该文件通版本的内容进行比较。如果当前编辑的文件没有修改,则是灰色不可点击。

4.Show history 显示当前文件的历史记录

5.Revert 还原当前被修改的文件到违背修改的版本状态下

6.Local Changes 本地修改过的文件都会出现在这里

7.Repository svn仓库所有提交记录

8.Incoming 本地还没有更新的别人提交的代码

第二部分,IDEA下SVN的使用

1.将远程仓库下载到本地

IDEA下方出现

点击add repository location

之后输入svn的地址,因为是本地的仓库,所以地址为svn://127.0.0.1/repository 或者svn://localhost/repository根据服务不同这个地址也不一样 可能是http或着https开头

添加上svn库的地址后,我们可以浏览库上的文件,当然也可以做一些操作,比如删除,查看历史记录等,这里在添加svn库的时候,如果有权限限制,会让你输入用户名和密码

把项目导入到我们的工作区间

右键项目选择checkout

选择目录

可以查看库上的历史记录

这里介绍一个小功能,如果我们有一些文件我们并不关心它是否改变,我们就可以再新建一个changelist,我这里叫new changelist可以把我们不关心的文件放入到这里,这样方便我们观察我们关心的文件,比如如果是个大的工程,很多class文件我们并不关心,就可以这样做.

当提交我们修改过的代码时,一般的顺序是先update,预防以后产生冲突,然后再commit

修改Hello.java文件

commit

提交成功。

注:冲突一般是发生在你和对方假设都是版本4,对方先提交了,这时候仓库更新为版本5,但是你也修改了代码要提交到仓库,但是这时你并没有更新到最新的仓库状态,即没有update,然后你也提交,此时,你是版本4,提交之后也是版本5,但是当前的仓库已经是版本5了,这个时候就会产生冲突。下面我们来举个栗子。

我先用xiaoming往他的本地仓库中的Hello.java中添加代码,之后提交到远程仓库。

当前的版本是第2版,xiaohong一开始checkout下来的也是第一版,这个时候她不update自己的本地仓库,直接修改Hello.java然后commi,这个时候就会产生冲突。

commit

此时出现错误提醒

这里我们也可以用IDE演示

但是现在IDEA太智能了,自动帮你更新代码,只要一边提交,另一边马上更新。这里我使用别的开发者的内容演示一下。

至此,冲突的演示完毕。

参考的链接:https://www.cnblogs.com/shaoqunchao/p/7892657.html

MacOS IDEA下SVN配置与使用的更多相关文章

  1. IntelliJ IDEA下SVN配置及使用

    一.在IDEA中使用SVN,首先需要下载安装 TortoiseSVN 插件. 打开 TortoiseSVN 下载地址,选择适合自己的系统类型下载. 接下来,进行安装即可.选择Modify,默认 com ...

  2. Ubuntu下SVN配置

    今天上午写了一个脚本,然后想起来现在写的R脚本,常常在分析过程中就直接改掉了.隐隐还是觉得存在隐患,想着svn部署应该不会太难,于是就直接动手干了. 弄了一上午的时间,感觉还是花了点时间. 这里有篇b ...

  3. linux 下 svn配置;以及多仓库配置

    http://www.linuxidc.com/Linux/2016-01/127679.htm https://blog.csdn.net/mrwu9902/article/details/7869 ...

  4. Linux下SVN配置

    1.安装svnyum install subversion 2.创建版本库fengyu(版本库的名字取来和你web项目的名字相同,否则你在服务器检出后会变成web项目里还有一层版本库的目录,里面才是项 ...

  5. Linux下SVN配置hook经验总结

    前几天给实验室搭建了一个内部测试的开发环境,LAMP.svn提交以及自动部署. 之前没干过这事儿,到最终搞定还是颇费了些周折.总结一下我的经验,主要是hook的自动执行问题. 拿我的post-comm ...

  6. Mac下SVN服务器环境的搭建和配置(除展示图片外,所有命令在Linux/Unix下适用)

    这几天领导没有安排工作,闲着没事就想把自己这两年做iOS开发时感觉知识有欠缺的地方想好好深入地补习一下,昨天和今天就计划好好学习下SVN和git的从创建和到原理,到命令,到界面的使用.一不小心被另一领 ...

  7. Linux下SVN服务器安装配置及客户端安装说明

    原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...

  8. 转载-Linux下svn搭建配置流程

    Linux下svn搭建配置流程     一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...

  9. Linux下SVN服务器搭建配置

    Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...

随机推荐

  1. 初至cnblogs —— 博客搬迁

    感觉写博客是一种总结.分享知识的有效方式,于是打算坚持通过博客这一载体来提升自己. 最初通过 Hexo + GitHub Page 来搭建个人博客,但是通过这种方式搭建的博客基本没有访问量.个人感觉没 ...

  2. Linux中more和less的区别

    more的源码量大约2000行: less的源码量大约27000行: more历史比less久: less功能比more多: 其实本质没啥太大区别,都是为了查看文件方便. (完)

  3. MysqlException: max pool size was reached.

    2019-09-09 08:22:08.620 +00:00 [ERR] Connection id "0HLPKVK52H2OU", Request id "0HLPK ...

  4. Centos 6.4 安装Mplayer 播放器

    1.Download the rpmforge-release package. URL1:x86_64.rmp URL2:tar.gz    推荐!!! 2.Install DAG's GPG ke ...

  5. idea 链接 Tomcat 出现的错误 Application server libraries not found

    红色字体是重点 好久好久没有上来了.一直忙于工作没事有时间进行总结. 最近在家隔离期间发现了一个好玩的游戏率土之滨  , 玩的不错和大盟主混的很好.在给盟里做考勤任务的时候发现很麻烦还需要用Excel ...

  6. 【Oracle】如何让一个用户能够访问另外一个用户下所有的表

    根据需求的不同,也分为好几种方法,且看下文. 先构造基本的环境:创建两个用户AA,BB,基本需求为用户AA能够访问用户BB下所有的表,即用户AA有对BB下所有的表有"select on&qu ...

  7. java语言进阶(一)_Object类_常用API

    第一章 Object类 1.1 概述 java.lang.Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是Object. 如 ...

  8. 《The Design of a Practical System for Fault-Tolerant Virtual Machines》论文研读

    VM-FT 论文研读 说明:本文为论文 <The Design of a Practical System for Fault-Tolerant Virtual Machines> 的个人 ...

  9. 让网页变灰的实现_网站蒙灰CSS样式总汇

    每次全国哀悼日,各大网站首页都变成了灰色,添加以下全局CSS样式,可以实现此效果: 方法一 html { -webkit-filter: grayscale(100%);filter:progid:D ...

  10. List集合-02.LinkedList

    2.LinkedList 2.1 UML继承关系图 2.2 底层存储节点 通过内部类Node存储,可以看出是双向的链表结构 private static class Node<E> { E ...