首页 > 其他分享 >IDEA中使用 SVN 操作详解

IDEA中使用 SVN 操作详解

时间:2022-11-18 12:05:08浏览次数:56  
标签:SVN 文件 版本控制 IDEA 详解 右键 提交

目录

IDEA 配置 SVN 拉取代码

IDEA + SVN 将文件回退到历史版本

IDEA 更新 SVN 代码解决冲突

IDEA + SVN 与资源库同步

IDEA 为 SVN 打分支或标签

IDEA 忽略提交文件到 SVN 与 取消纳入版本控制

IDEA 配置 SVN 拉取代码
1、电脑上先安装 SVN 客户端:TortoiseSVN 客户端 安装,IDEA 本身也是通过 SVN 客户端向服务器发送命令。

2、IDEA 配置 SVN :File–>Setting–>Version Control–>Subversion,填入安装好的 SVN 客户端 exe 程序路径,如:C:\wmx\software\TortoiseSVN\bin\svn.exe

3、SVN 拉取代码:File–>New->Project from Version Control–>Subversion,或者 VSC->Checkout from Version Control->Subversion,
点击 Repositories 的 + 号,然后输入仓库地址,点击 OK 按钮即可下载(第一次时可能会提示需要输入账户密码)。

4、项目检出成功之后,工具栏上会多几个 SVN 的按钮,有:更新项目、提交、与远程仓库版本对比、恢复/回退。

5、更多的操作命令可以通过选中项目目录或者具体文件,然后右键选择 "Subversion",不同的菜单名称对应着不同的 SVN 命令 根据需要操作即可。

6、IDEA 中如果是 Git 管理的项目,则 commit 提交之后,还需要 push 推送到服务器,而 svn 管理的项目,commit 提交之后,代码就直接上了 svn 服务器,不需要再 push 推送。

 

 

 

IDEA 更新 SVN 代码解决冲突

idea中svn回退到指定版本   https://www.cnblogs.com/qq376324789/p/15213105.html

IDEA + SVN 将文件回退到历史版本
1、使用 svn 或者 git 的时候,偶尔会遇到由于自己或者其他同事的提交(比如误操作),把原本正确代码或文件覆盖掉了,此时需要恢复到之前指定的某个版本。

2、打开文件的提交历史版本面板,然后找到需要回退的版本,右键点击 get ,即可恢复到指定的版本(注意点击 get 后没有确认提示,而是直接回退)。

 

IDEA 更新 SVN 代码解决冲突
1、在有冲突的文件上右键 -> Subversion -> Resolve Text Confict,会弹出"Conflicts" 窗口,
1、Accept yours :使用本地自己的,放弃远程的
2、Accept Theris :使用远程别人的,放弃自己的
3、Merge :合并代码

2、如果选择的是 "Merge" ,则会进入合并窗口,左侧是自己本地的代码,右键是远程别人的代码,中间是合并后的代码。
1、可以根据左右两侧的箭头逐项进行合并
2、也可以选择左下角的按钮:Accept Left(使用左侧本地代码,放弃远程的), Accept Right(使用右侧远程代码,放弃本地的)

 

IDEA + SVN 与资源库同步
1、版本控制时,sts/eclipse 有一个好用的功能叫 "与资源库同步",进去之后能清晰看到本地未提交的文件与服务器上未更新到本地的文件。

2、IDEA 也有一个类似的功能,打开 Version Control(git 也是类似) 窗口:

1、Local Changes 页签:显示本地未提交到服务器的文件.
2、Repository 页签:显示远程服务器上所有的提交记录.
3、Incoming 页签:显示远程服务器上需要更新到本地文件.

 

3、文件颜色代表不同的含义:

绿色:已加入版本控制,但暂未提交
红色:未加入版本控制
蓝色:已加入版本控制,已提交,有改动
白色:已加入版本控制,已提交,无改动
灰色:版本控制已忽略,或是已经删除

IDEA 为 SVN 打分支或标签
1、svn 的 branch 和 tag 都是使用 copy 实现的,没有本质区别,所有是在同一个功能菜单上操作。
tag:用来做一个 milestone(里程碑事件) ,不管是不是 release,都是一个可用的版本,tag 应该是只读的。
branch:用来做并行开发的,这里的并行是指和 trunk(主线) 进行比较。

2、比如3.0版本开发完成,此时打一个tag(tag_release_3.0),然后基于这个 tag 做 release(比如安装程序等)。trunk(主线)进入 3.1 版本的开发,此时 3.0 版本发现了 bug,那么需要基于 tag_release_3.0 做一个 branch(branch_bugfix_3.0),基于这个 branch(分支) 进行 bugfix(bug修复),等到 bugfix 结束,再做一个 tag(tag_release_3.0.1),最后根据需要决定是否将 branch_bugfix_3.0 合并入 trunk(主线)。

3、IDEA 编辑器中选择目标项目目录,右键选择 Subversion ——> Branch or Tag...,然后设置好之后点击"OK"即可。

 

4、查看当前的分支:打开 Version Control 窗口,选择 Subversion Working Copies Infomation 页签即可查看.

IDEA 忽略提交文件到 SVN 与 取消纳入版本控制
1、IDEA 自己的配置文件以及 target 等目录是不需要提交到服务器的,可以提前进行设置。

2、配置 svn 忽略提交的文件(Ignored Files) 有以下两种方式进入设置页面:
方式1:File -> Settings -> Ignored Files(忽略的文件)
方式2:进入 Version COntrol 窗口,点击左侧的 Ignored Files 图标,选择 Configure Ignored Files...

3、配置页面点击右侧的 + 号即可设置:
Ignore specified file:忽略指定的单个文件
Ignore all files under:忽略指定的文件目录
Ignore all files matching:忽略所有匹配的文件

 

4、如上动图所示 .idea、libraries、Maven__com_github_virtuald_curvesapi_1_04.xml 显示为绿色,表示已加入版本控制,但暂未提交。此时再设置忽略已经不起作用了,只能设置文件取消纳入版本控制,解决办法如下:
方式1:进入本地磁盘找到目标文件,右键,使用 TortoiseSVN 工具的撤销添加版本控制(Undo Add..)

 

方式2(推荐方式):右键需要撤销的文件或者文件夹,右键->Subversion-> Revert(还原),左下角可以勾选是否删除本地文件。

 

 

标签:SVN,文件,版本控制,IDEA,详解,右键,提交
From: https://www.cnblogs.com/liftsail/p/16902750.html

相关文章

  • 如何用idea新建一个Spring web项目
    如何用idea新建一个Springweb项目首先要下好maven,tomcat,idea,jdk等开发工具一、新建一个工程1、打开idea,选择File->New->project2、选择一个空项目,点击next,给项......
  • idea 设置vue@跳转
    第一步:根目录下面,创建一个JS文件,名字随便起config.js/*此文件未使用,只是为了让idea可以识别实际位置*/constpath=require('path');functionresolve(dir){returnpa......
  • python-日志详解
    一.logging模块_打印以及保存日志1、Logging:用来做简单的日志。等级分为debug()、info()、warning()、error()和critical()等级 使用场景DEBUG 调试......
  • vue前端开发仿钉图系列(1)高德地图的使用详解
    最近公司让参考钉图做图层模块相关的功能,很庆幸有机会细细研究地图相关的东西。因为手机端用的是高德地图,web端也使用高德地图。还是和往常一样,先贴上效果图。 ......
  • docker-compose文件详解
    Compose和Docker兼容性:Compose文件格式有3个版本,分别为1,2.x和3.x目前主流的为3.x其支持docker1.13.0及其以上的版本常用参数:version#指定comp......
  • react面试题详解
    React-Router怎么设置重定向?使用<Redirect>组件实现路由的重定向:<Switch><Redirectfrom='/users/:id'to='/users/profile/:id'/><Routepath='/users/profile/:i......
  • 树莓派简单搭建公网SVN服务器
    前言我有两台电脑一个是台式一个是本本,外出都会带上笔记本,有时想敲代码了,SVN服务器无法链接实在不方便。为了解决这个问题,把树莓派稍微设置下,就该成了公网服务器,下面对整......
  • Java——包装类详解
                 装箱与拆箱的概念.基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱“:装箱:从基本类型转换为对应的包装......
  • vite.confg.js npm run xxx和.env文件详解
    在vite.config.js中:exportdefaultdefineConfig(({mode,command})=>{/***参数:(1)mode:就是运行npmrunxxx的时候的模式,配置项"--mode"后面的字符串将被传入......
  • Java Object类详解
    Object是 Java 类库中的一个特殊类,也是所有类的父类。也就是说,Java允许把任何类型的对象赋给Object类型的变量。当一个类被定义后,如果没有指定继承的父类,那么默认父......