SVN指南 - 我会的那点儿SVN

近三年没有使用过SVN,只因换工作需要维护老项目,故在此记录

持续补全

首次配置

查看项目的SVN对应地址与项目结构目录

关于查看项目的svn地址方式有俩种场景,一种是本地未有与SVN绑定的项目,一种为本地已有与SVN绑定的项目

场景1:本地未有与SVN绑定的项目

目标文件夹 - 右键 - TortoiseSVN - Repo-browser (当然项目远端地址需要和对应人员要一下,但是如果目标磁盘有绑定过svn项目会自动提示输入的,可以搭个顺风车)

在这里插入图片描述

场景2:本地已有与SVN绑定的项目

目标文件 - 右键 - Subversion(有当前文件的svn 服务器地址)

在这里插入图片描述

SVN的整体项目结构

在这里插入图片描述

本地导入远端SVN项目

步骤1:目标磁盘 - 右键 - SVN Checkout

在这里插入图片描述

步骤2:将已知的项目的svn地址输入后,本地新建接收的文件夹即可

在这里插入图片描述

AndroidStudio - 查看项目的svn地址 以及修改 svn版本号

操作方式:File > Setting > Version Control > Subversion Working Copies Information

在这里插入图片描述


分支

新建分支

新建分支的过程就是从主分支copy一份代码到新的分支中 ~

步骤1:右键项目 - TortoiesSVN - Branch/tag
在这里插入图片描述
步骤2:选取被分支的项目;新分支的项目地址与名称 ~

注:新分支名不需提前在远端建立!否则会出现 “path”already exists 错误
在这里插入图片描述
步骤3:齐活完事儿,可以看下面的切换分支部分了
在这里插入图片描述

分支切换

步骤1:右键项目 - TortoiesSVN - Switch
在这里插入图片描述
步骤2:根据操作切换对应分支即可,切换完成后,打开项目及为新分支的代码

注:分支切换成功以后,虽然项目名称没有改变,但是查看属性,url已经变更
在这里插入图片描述

分之合并

步骤1:项目文件内右键 - TortoiseSVN - Merge…

在这里插入图片描述
步骤2:默认选取 - 直接Next即可 ~

在这里插入图片描述
步骤3:选取需要合并的分支和分支版本,也可以选取全部版本(生效内容会与所选版本挂钩)

在这里插入图片描述
步骤4:此处主要测试俩边分支合并后,更新和冲突部分 ~

在这里插入图片描述
步骤5:分支合并测试结果,有更新和冲突部分,同时提示有多处冲突警告 ~

在这里插入图片描述
课外补习

合并中如有冲突的话,会自动生成一些类似下方文件,具体示意如下:

  • file.py.merge-left.rxxx 显示了冲突左侧的合并结果
  • file.py.merge-right.ryyy 显示采取冲突右侧的合并结果
  • file.py.working 显示你的工作副本不变
  • file.py 显示SVN试图合并两者

常见场景

回退到某个版本

方法一

步骤1:项目右键 → TortoiseSVN → Update to revision

在这里插入图片描述

步骤2:知道版本号的情况下直接选取Revision填写版本号, 反正我是从不记> < 所以直接Show log 走起~

在这里插入图片描述
步骤3:选取对应版本版本,点击右下角 ok ,然后版本就回去咯 - -

慎重 → 可以提前压缩一个当前项目的包,以备不时之需
在这里插入图片描述
方法二

步骤1:项目右键 - TortoiseSVN - Show log

在这里插入图片描述
步骤2:选取对应得版本号 - 右键 - Revcer to this version

在这里插入图片描述
步骤3:Revert

在这里插入图片描述

回退版本后,无法更新到最新版本
  • Update to reversion - 最新版本 (如无效,下一步)
  • Revert 重新拉取一下
    在这里插入图片描述
服务器地址变更,客户端更改服务器地址

步骤1:(已绑SVN仓库的项目)右键 → TortoiseSVN → Relocation

在这里插入图片描述

步骤2:输入变更后的服务器地址

在这里插入图片描述

设置忽略文件,防止意外提交

方式一

步骤1:项目右键 - TortoiseSVN - Settings

在这里插入图片描述

步骤2:可先行常识修改红框内容为忽略文件,如果有效则无需看步骤3

在这里插入图片描述

步骤3:更改标红内的忽略文件,同时解开前方#注释

在这里插入图片描述

方式二

步骤1:项目右键 - TortoiseSVN - Properties

在这里插入图片描述
步骤2:选取New - Other

在这里插入图片描述
步骤3:选取global-ignores

在这里插入图片描述
步骤4:记录所需隐藏的文件或目录

在这里插入图片描述

  • 常规
target
.idea
.settings
.project
*.iml
*.log
.classpath
*.class
  • AndroidStudio
target
.idea
.settings
.project
*.iml
*.log
.classpath
*.class
.gradle
.idea
build

步骤5:设置好之后保存一即可

在这里插入图片描述
检验效果

因为选了全局忽略,所有子目录会继承忽略配置;进入子目录点击右键菜单TortoiseSVN->Properties可以看到置灰的配置

在这里插入图片描述
课外补习

补习此项,主要源于我用过上方的俩种忽略方式,故此解决俩者区别的疑惑 ~

在这里插入图片描述
svn:ignore、global-ignores区别

区别ignoreglobal-ignores
定义是 Subversion的属性,作用是忽略未版本控制的条目,要注意是“未加入版本控制的版本条目”,我们主要就是用它来忽略一些我们不想上传到版本服务器的文件或者目录忽略未版本控制的条目,全局参数
使用方式上面的方式一上方的方式二
生效范围只对当前目录有效是全局有效,就是所有目前都有效
便捷性必须每个工作目录都要设置,个性化配置只需要配置一次,使用方便
更改已提交版本的备注信息

步骤1:项目文件夹内 TortoiseSVN → Show log
在这里插入图片描述
步骤2:选取对应 Revision 右键 Edit log message
在这里插入图片描述
步骤3:修改备注信息之后OK即可 ~

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

远方那座山

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值