Linux SVN 命令大全:从入门到精通
核心命令速查表
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.txt3. 清理工作副本
# 当工作副本出现问题时
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.txt2. 导出项目(不含.svn目录)
svn export http://svn.example.com/project/trunk3. 查看仓库结构
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%的版本控制需求。建议收藏本文,遇到问题时快速查阅相关命令用法。