IDEA 使用 SVN 操作详解

本文详细介绍了如何在IntelliJ IDEA中配置和使用SVN进行代码版本控制,包括拉取代码、解决冲突、回退文件、同步资源库、打分支与标签以及忽略文件提交等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

IDEA 配置 SVN 拉取代码

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

IDEA 更新 SVN 代码解决冲突

IDEA + SVN 与资源库同步

IDEA 为  SVN 打分支或标签 

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

Cannot checkout from svn: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

No appropriate protocol ( protocol is disabled or cipher suites are inappropriate )

svn: E170013: Unable to connect to a repository


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 将文件回退到历史版本

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(还原),左下角可以勾选是否删除本地文件。

Cannot checkout from svn: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

1、有时候从 svn 检出项目时报错,提示: 无法从svn签出:没有合适的协议(协议已禁用或密码套件不合适)。

2、Settings->Version Control->Subversion 打开配置面板。下面红色框反复试一下基本就能正常拉取了,比如第一个原本是没有勾选的,勾选后再去试一下,还不行就试第二个框,还不行就清一下认证的缓存。

No appropriate protocol ( protocol is disabled or cipher suites are inappropriate )

1、使用IDEA更新SVN服务器代码时突然报如下的错误:

No appropriate protocol ( protocol is disabled or cipher suites are inappropriate ) - 没有合适的协议(协议被禁用或密码套件不合适)

2、解决办法:打开项目的根目录,直接使用小乌龟(svn客户端)更新代码,它会提示如下,然后选择"永久接收改证书",然后就一切都恢复正常了。

svn: E170013: Unable to connect to a repository

1、重装系统、IDEA、SVN 客户端后,打开原来的项目更新代码时,报了这个错:

svn: E170013: Unable to connect to a repository at URL 'https://cvs.ctjsoft.com:8443/svn/gfmis/bgt/basic/trunk' 
svn: E230001: Server SSL certificate verification failed: certificate issued for a different hostname, issuer is not trusted

2、这显然是连接不是服务器地址导致的。

3、解决办法是使用 SVN 客户端重新访问一下目标地址,然后重新输入一次账号密码。

如果没有提示输入账号密码,则找到 C:\Users\用户名\AppData\Roaming\Subversion\auth 目录,然后删除 auth 目录下的所有文件。(AppData 如果看不到,则一般是因为隐藏了,可以选择显示所有所有文件和文件夹)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蚩尤后裔-汪茂雄

芝兰生于深林,不以无人而不芳。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值