SVN 安装及常用命令
一、SVN 安装
1. Windows 系统安装
- 下载地址:Subversion 官方 binaries
- 推荐使用 SlikSVN 或 CollabNet 版本
- 安装步骤:
- 双击安装包,勾选 "Add subversion to the system PATH"
- 一路下一步完成安装
- 验证:cmd 中输入
svn --version
,显示版本信息即成功
2. Linux 系统安装
# Ubuntu/Debian
sudo apt-get install subversion# CentOS/RHEL
sudo yum install subversion# 验证安装
svn --version
3. Mac 系统安装
# 使用Homebrew
brew install subversion# 验证安装
svn --version
二、基本概念
- 工作副本 (Working Copy):本地存放的项目文件
- 仓库 (Repository):服务器上存储项目所有版本的数据库
- 提交 (Commit):将本地修改上传到服务器
- 更新 (Update):将服务器最新版本同步到本地
- 检出 (Checkout):从服务器获取项目到本地
三、常用命令
1. 仓库操作
# 检出仓库到本地
svn checkout <仓库URL> [本地目录]
# 简写
svn co <仓库URL> [本地目录]# 创建本地仓库
svnadmin create <仓库路径># 导入本地项目到仓库(首次)
svn import <本地项目路径> <仓库URL> -m "初始化导入"
2. 日常操作
# 查看工作副本状态
svn status
# 详细状态
svn status -v# 查看文件修改内容
svn diff <文件名># 将文件添加到版本控制
svn add <文件名/目录># 删除文件
svn delete <文件名>
# 或直接删除文件后执行
svn rm <文件名># 提交修改到服务器
svn commit -m "提交说明"
# 简写
svn ci -m "提交说明"# 更新本地副本到最新版本
svn update
# 简写
svn up# 查看提交日志
svn log
# 查看指定文件日志
svn log <文件名>
3. 版本控制
# 查看文件的特定版本
svn cat <文件名>@<版本号># 查看版本差异
svn diff -r <版本号1>:<版本号2> <文件名># 回滚到指定版本
svn update -r <版本号> <文件名># 创建分支
svn copy <源路径> <目标路径> -m "创建分支说明"# 合并分支到主干
svn merge <分支URL> <本地主干目录># 查看文件历史
svn log -v <文件名>
4. 其他常用命令
# 查看忽略列表
svn propget svn:ignore <目录># 设置忽略文件
svn propset svn:ignore "<忽略规则>" <目录># 清理工作副本(解决冲突等问题)
svn cleanup# 解决冲突后标记为已解决
svn resolved <文件名># 锁定文件(防止多人同时修改)
svn lock <文件名> -m "锁定说明"# 解锁文件
svn unlock <文件名>
四、冲突处理
-
发生冲突时,文件会被标记为冲突状态
-
冲突文件会生成三个额外文件:
- filename.mine:自己修改的版本
- filename.rOLDREV:更新前的版本
- filename.rNEWREV:服务器最新版本
-
解决步骤:
# 1. 编辑冲突文件,解决冲突 # 2. 标记为已解决 svn resolved <冲突文件> # 3. 提交解决后的版本 svn ci -m "解决冲突"
五、实用技巧
-
配置别名:在~/.bashrc 或~/.bash_profile 中添加
alias svnci='svn commit -m' alias svnup='svn update' alias svnst='svn status'
-
设置全局忽略:
# 编辑配置文件 svn config --edit miscellany # 添加 global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__
-
使用图形化工具:
- TortoiseSVN (Windows)
- Cornerstone (Mac)
- RabbitVCS (Linux)
以上命令覆盖了 SVN 日常使用的 90% 场景,掌握这些足以应对大部分版本控制需求。