SVN 相关

最近用到了svn的命令行,记录之。

PS:不是应该使用Git吗?!

PS2:你能想象到吗?都2025年了,还有公司领导要求使用SVN提交代码,不使用Git,无力吐槽

一、 SVN修改IP地址后,本地项目同步问题。

解决:需要修改SVN地址

使用命令修改:

0. cd 到本地项目根目录

1. 查看当前使用SVN地址

svn info 

2. 修改SVN地址

svn switch --relocate 旧地址 新地址

svn switch --relocate svn://192.168.0.11/ios/test svn://192.168.1.22/ios/test


如果提示出错,报 

svn: E155024: Invalid relocation destination: 'svn://192.168.1.22/ios/test' (does not point to target)


可使用命令

svn sw 新地址

svn sw svn://192.168.1.22/ios/test

如果提示出错,报 

"xxx" is not the same repository as "xxx"

使用

svn relocate http://192.168.0.127/svn/lvwo svn://120.24.214.134:9999/lvwo ./

二、svn: E170009: Repository UUID '44009020-4282-4813-9547-6873c936cbf8' doesn't match expected UUID 'e7806393-090d-ab46-8530-f25d3c46c14f'

显示是当前提交人UUID和之前的提交人UUID不一致导致。

本人使用SQL语句修改,简单粗暴。

0. cd 到本地项目根目录

1. 查看当前使用SVN地址

svn info 

2. 进入svn数据库,查看当前记录在数据的数据

sqlite3 .svn/wc.db

select * from REPOSITORY; 

注意,分号结束;

3. 更新UUID

update REPOSITORY set uuid="44009020-4282-4813-9547-6873c936cbf8" where id=1;


4.退出sqlite3

.exit


参看这里

三、invalid control character '0x10' in path

这种问题是文件名出现乱码,虽然在文件系统直接看是没什么问题的,但是用终端命令行查看,就可以看到文件名的确是出现乱码。

解决:按照提示的路径找到文件,重命名文件即可。

四、Android Studio 无法提交 .so 文件

这个是SVN默认的配置文件里面,把.so文件忽略了,需要修改SVN配置。

WIN10 ,在 C:\Users\Administrator\AppData\Roaming\Subversion 目录下,找到 config 文件。

修改 config 里面的 global-ignores 行,删除注释、删除 .so 和 *.so.[0-9]* ,保存

重启Android studio 即可生效,接下来就是正常走 add 和 commit 流程

<think>我们正在处理一个关于SVN命令的问题。用户希望获取常用SVN命令及其使用方法的列表或指南。根据提供的引用,我们可以整理出一些常用命令。 引用[1]提到:svn log, svn diff, svn cat, svn list。 引用[2]提到:svn checkout(简写svn co)。 引用[3]提到:svn resolve。 除此之外,我们还可以补充一些其他常用命令,比如svn update, svn commit, svn status, svn add, svn delete等。 我们将按照以下结构组织回答: 1. 介绍SVN及其基本概念(简要) 2. 列出常用命令,包括每个命令的用途、基本语法和示例 3. 提供一些使用建议(如避免冲突) 注意:我们使用中文回答,并且确保行内数学表达式(如果有的话)使用$...$,但在这个问题中,数学表达式可能较少,主要是命令和代码示例。 另外,根据要求,我们需要在回答末尾生成相关问题。 由于用户要求的是基本命令列表,我们将重点放在命令的列举和示例上。 开始组织答案:</think>### SVN常用命令及使用指南 Subversion(SVN)是集中式版本控制系统,以下是核心命令详解: #### 1. **检出代码** 将远程仓库代码下载到本地: ```bash svn checkout <仓库URL> [本地目录] # 缩写:svn co # 示例:检出项目到当前目录的brand文件夹 svn checkout svn://192.168.1.131/45dian/brand ./brand/ ``` #### 2. **更新代码** 同步远程仓库最新修改到本地: ```bash svn update # 缩写:svn up ``` #### 3. **提交更改** 将本地修改上传到仓库(需先更新避免冲突): ```bash svn commit -m "提交说明" # 缩写:svn ci ``` #### 4. **查看状态** 检查本地文件的修改状态(新增/修改/冲突): ```bash svn status # 缩写:svn st ``` #### 5. **添加文件** 将新文件纳入版本控制: ```bash svn add <文件名> # 示例:添加所有新文件 svn add --force . ``` #### 6. **解决冲突** 标记冲突文件为已解决(需人工处理冲突内容): ```bash svn resolve --accept=mine-full <文件名> # 自动保留本地版本[^3] ``` #### 7. **查看历史** - **日志**:查看提交记录 ```bash svn log # 显示作者、日期、修改路径[^1] ``` - **差异对比**:查看具体修改 ```bash svn diff -r 版本号 # 显示行级改动[^1] ``` - **查看文件内容**: ```bash svn cat -r 版本号 <文件名> # 显示特定版本文件内容[^1] ``` - **列出目录文件**: ```bash svn list # 显示目录下的版本控制文件[^1] ``` #### 8. **撤销修改** 丢弃未提交的本地更改: ```bash svn revert <文件名> # 恢复单个文件 svn revert -R . # 递归恢复整个目录 ``` #### 9. **删除文件** 从版本控制中移除文件: ```bash svn delete <文件名> # 缩写:svn del ``` --- ### ⚠️ 避免冲突的技巧 1. **频繁更新**:提交前先执行 `svn update` 同步最新代码[^3]。 2. **沟通协作**:多人修改同一文件时提前协调分工。 3. **及时解决冲突**:出现冲突时用文本编辑器手动合并,再执行 `svn resolve`[^3]。 > 提示:使用 `svn help <命令>` 可查看详细帮助文档。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值