Linux SVN 命令大全:从入门到精通

boyanx2个月前技术教程14

核心命令速查表

1. 检出与更新

svn checkout <url>        # 检出项目到本地
svn update                # 更新到最新版本
svn update -r 200 file.c  # 更新到指定版本

2. 文件操作

svn add file.txt          # 添加文件到版本控制
svn delete file.txt       # 删除文件
svn lock file.txt         # 锁定文件
svn unlock file.txt       # 解锁文件

3. 提交与撤销

svn commit -m "注释"      # 提交更改
svn revert file.txt       # 撤销本地修改
svn resolved file.txt     # 标记冲突已解决

4. 查看与比较

svn status               # 查看文件状态
svn diff                 # 比较差异
svn log                  # 查看提交历史
svn info                 # 查看详细信息

详细命令解析

项目初始化与更新

检出项目 (svn checkout)

# 基本用法
svn checkout svn://server/project/trunk

# 简写形式
svn co http://svn.example.com/project

更新工作副本 (svn update)

# 更新整个项目
svn update

# 更新特定文件
svn update file.txt

# 恢复到历史版本
svn update -r 150 file.txt

日常开发操作

添加新文件 (svn add)

# 添加单个文件
svn add newfile.txt

# 添加多个文件
svn add *.php

# 递归添加目录
svn add newdir/ --force

提交更改 (svn commit)

# 提交所有修改
svn commit -m "修复登录bug"

# 提交特定文件
svn commit file1.txt file2.txt -m "更新配置文件"

版本比较与历史

查看修改状态 (svn status)

# 查看当前状态
svn status

# 详细状态信息
svn status -v

# 状态标识说明:
# ? - 未版本控制
# M - 已修改
# C - 冲突
# A - 待添加
# D - 待删除

比较差异 (svn diff)

# 比较当前修改
svn diff

# 比较特定文件
svn diff file.txt

# 比较历史版本
svn diff -r 100:150 file.txt

冲突解决与撤销

解决冲突

# 标记冲突已解决
svn resolved file.txt

# 撤销本地修改
svn revert file.txt

# 撤销所有修改
svn revert -R .

分支与标签管理

创建分支

# 创建分支
svn copy trunk/ branches/my-branch -m "创建新分支"

# 切换分支
svn switch http://svn.example.com/branches/my-branch

创建标签

svn copy trunk/ tags/v1.0 -m "发布版本1.0"

实用技巧与示例

1. 忽略文件配置

# 设置忽略模式
svn propset svn:ignore "*.log
tmp/
*.tmp" .

2. 查看文件历史

# 查看完整历史
svn log file.txt

# 查看最近5条记录
svn log -l 5 file.txt

# 查看特定时间范围
svn log -r {2023-01-01}:{2023-12-31}

3. 文件锁定管理

# 锁定文件(防止他人修改)
svn lock file.txt -m "正在重构此文件"

# 查看锁信息
svn info --show-item lock

# 强制解锁(需要权限)
svn unlock --force file.txt

常见问题处理

1. 解决冲突

当文件出现冲突时:

# 1. 查看冲突文件
svn status

# 2. 手动解决冲突后标记
svn resolved file.txt

# 3. 提交解决结果
svn commit -m "解决合并冲突"

2. 恢复已删除文件

# 找回被删除的文件
svn copy -r 123 http://svn/path/to/file@123 file.txt

3. 清理工作副本

# 当工作副本出现问题时
svn cleanup

# 强制清理
svn cleanup --remove-ignored

高级用法

1. 属性管理

# 设置属性
svn propset svn:keywords "Date Rev Author" file.txt

# 查看属性
svn proplist file.txt

# 删除属性
svn propdel svn:keywords file.txt

2. 导出项目(不含.svn目录)

svn export http://svn.example.com/project/trunk

3. 查看仓库结构

svn list http://svn.example.com/project
svn list -R http://svn.example.com/project  # 递归列出

命令速查表

命令

功能

简写

svn checkout

检出项目

svn co

svn update

更新文件

svn up

svn commit

提交更改

svn ci

svn status

查看状态

svn st

svn diff

比较差异

svn di

svn delete

删除文件

svn del

svn list

列出文件

svn ls


注意:使用 SVN+SSH 访问时的格式:
svn+ssh://username@
hostname/path/to/repository

掌握这些命令能够满足日常开发中99%的版本控制需求。建议收藏本文,遇到问题时快速查阅相关命令用法。

相关文章

iOS 测试版 Excel、Word 和 PowerPoint 等Of

“Excel图标上的‘E’没了,我差点把财务报表拖到PPT里。”一条吐槽,点赞 3.2 万,评论区全是“+1”。图标刚在 TestFlight 露头,就有人把新旧放一起对比:左边老图标,字母大得像个门...

Win11 25H2更适合游戏?Win10 22H2 VS Win11 25H2游戏性能对比

“升了25H2,帧数到底涨没涨?”昨晚群里有人甩出这句话,两分钟里刷出三十多条“+1”。没人想被微软白嫖,可也没人想错过真香。干脆把外媒那组新鲜出炉的对比图翻出来,一条条对,看看到底是心理作用还是钱包...

iOS 26.1 新版本来了!变化很多,修复微信问题

显示与亮度设置页面也悄悄换了新壁纸缩略图,浅色和深色模式现在都是iOS26的官方壁纸,看起来更统一。虽然只是小变化,但视觉上确实更舒服了。很多人一眼没发现,但细心的用户觉得系统整体更有质感了。iOS2...

15年悬案告破:修复 iPhone 4“天线门”,苹果只改了20字节代码

IT之家 10 月 9 日消息,科技媒体 9to5Mac 昨日(10 月 8 日)发布博文,报道称困扰业界 15 年之久的苹果 iPhone 4“天线门”事件谜底近日揭晓。软件工程师萨姆亨利戈尔德发现...

如何快速将多个txt文档合并成一个txt文档?操作简单高效

txt文本文档是最常见的文件格式,txt格式比较简单,体积小、存储简单方便,不容易中病毒。使用起来也很方便,不管是在计算机,还是在移动设备,txt文本文档属于通用格式,都能够轻松打开。当然,有利也有弊...

打破格式壁垒 CXSTAR文件 CXPB格式 转PDF工具,实现文档跨场景流通

在特定行业办公场景中,CXSTAR生成的CXPB格式文件常作为专业数据载体存在,却因格式特殊性面临“打开难、分享难、归档难”的痛点——多数通用办公软件无法直接兼容,跨设备传输易出现排版错乱,给项目协...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。