安装与基础配置
-
安装SVN
- Windows:下载 SlikSVN 或 TortoiseSVN(含命令行工具)。
- Linux/macOS:终端执行:
# Ubuntu/Debian sudo apt-get install subversion # macOS brew install subversion
-
配置用户信息
首次使用前设置全局用户名和邮箱:svn config --global set username "YourName" svn config --global set password "YourPassword"
核心命令详解
仓库操作
命令 | 作用 | 示例 |
---|---|---|
svn checkout (co) |
检出代码到本地 | svn co http://svn.example.com/repo/trunk |
svn commit (ci) |
提交更改 | svn ci -m "修复登录bug" |
svn update (up) |
更新本地代码 | svn up |
文件管理
命令 | 作用 | 示例 |
---|---|---|
svn add |
添加新文件到版本控制 | svn add newfile.py |
svn delete (del) |
删除文件 | svn del oldfile.txt |
svn revert |
撤销本地修改 | svn revert config.conf |
查看与对比
命令 | 作用 | 示例 |
---|---|---|
svn status (stat) |
查看文件状态 | svn stat (未添加,M 修改,A 新增) |
svn diff |
对比差异 | svn diff README.md |
svn log |
查看提交历史 | svn log -l 5 (显示最近5条记录) |
分支与合并
命令 | 作用 | 示例 |
---|---|---|
svn copy |
创建分支/标签 | svn copy http://svn.example.com/trunk http://svn.example.com/branches/feature -m "创建分支" |
svn merge |
合并分支到当前目录 | svn merge http://svn.example.com/branches/feature |
svn switch (sw) |
切换分支 | svn sw http://svn.example.com/branches/dev |
高级操作与技巧
-
解决冲突
- 冲突文件会标记为
C
,手动编辑后执行:svn resolve --accept working conflict_file.txt svn ci -m "解决冲突"
- 冲突文件会标记为
-
忽略文件
创建.svnignore
文件(内容如*.log /tmp/
),然后执行:svn propset svn:ignore -F .svnignore . svn ci -m "更新忽略规则"
-
回滚版本
svn merge -c -123 http://svn.example.com/repo # 撤销版本123的修改 svn ci -m "回滚版本123"
常见问题处理
- 认证失败:删除保存的凭据(Windows:
%APPDATA%\Subversion\auth
;Linux/macOS:~/.subversion/auth
)。 - 文件锁定:
svn cleanup
解除锁定。 - 连接超时:检查代理设置:
svn config --global set http-proxy-host proxy.example.com svn config --global set http-proxy-port 8080
最佳实践
- 提交前必更新:避免冲突,先执行
svn up
。 - 日志清晰:提交信息写明具体修改内容(如“新增用户注册接口”而非“更新代码”)。
- 定期备份:
svnadmin dump /path/to/repo > repo_backup.dump
。
引用说明:
- 本文参考 Subversion 官方文档 svnbook.red-bean.com。
- 安全建议基于 OWASP 版本控制安全指南。
- 命令兼容性测试于 SVN 1.14 及以上版本。
通过掌握这些命令,您将高效管理代码版本,建议结合 svn help [command]
查看详细参数,实践中逐步进阶。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5666.html