一、代码检出 checkout
$ svn checkout url
# 指定本地目录
$ svn checkout url local-dir
# 用户名、密码参数
$ svn checkout url local-dir --username=xxx --password=xxx
案例
$ svn checkout https://192.168.2.25/svn/work2022/jeeweixin --username=qicong --password=qicong
$ svn checkout https://192.168.199.239/svn/work2022/jeeweixin --username=qicong --password=qicong
二、提交代码 commit
commit 可以简写为 ci
# -m 提交说明
$ svn commit -m "提交描述"
# 只提交指定文件或目录
$ svn commit readme.md -m "提交指定文件"
# 指定同一类型文件
$ svn commit *.java -m "提交所有 java 文件"
三、更新代码 update
从 SVN 服务器上更新到本地电脑,update 也可以简写为 up
# 更新到最新
$ svn update
# 更新到指定版本的代码
$ svn update -r xxx
# 仅更新指定文件或者目录
$ svn up url/dir
四、添加文件 add
用 add 命令把它们加入 SVN 的版本管理
# 添加指定文件或目录
$ svn add local-file-or-dir
# 添加当前目录下所有 java 文件
$ svn add *.java
# 添加所有子目录中文件
$ svn add * --force
五、删除文件 delete
此命令会从 SVN 移除版本控制,移除后需要提交
$ svn delete local-file-or-dir
# 删除版本控制,但是本地依旧保留文件
$ svn delete local-file-or-dir --keep-local
六、查看日志 log
# 查看当前目录的日志
$ svn log
# 查看指定文件或目录的提交日志
$ svn log local-file-or-dir
# 限定只输出最新的 7 条日志
$ svn log -l 7
七、查看变动 diff
# 查看当前本地库的变动
$ svn diff
# 指定文件或目录的变动
$ svn diff local-file-or-dir
# 跟指定版本号比较差异
$ svn diff local-file-or-dir -r xxx
# 指定版本号比较差异
$ svn diff local-file-or-dir -r 1:2
八、撤销修改 revert
# 撤销文件的本地修改
$ svn revert local-file-or-dir
# 递归撤销目录中的本地修改
$ svn revert -R local-dir
九、查看状态 status
查看 SVN 的状态
$ svn status
$ svn status local-file-or-dir
十、清理 cleanup
在 SVN 出现报错时可以执行一下,会清理掉本地的一些缓存
$ svn cleanup
十一、地址重定向
如果你的 SVN 地址变了,不需要重新 checkout 代码,只需要这样重定向就可以了。
$ svn switch --relocate old-svn-url new-svn-url
案例
$ svn switch --relocate https://192.168.2.25/svn/work2022/Work2021 https://192.168.199.239/svn/work2022/Work2021
十二、分支操作
# 创建分支,从主干 trunk 创建一个分支保存到 branches/learnSvn1
$ svn cp -m "描述内容" trunk-url branch-url
# 合并主干上的最新代码到分支上
$ cd branches/learnSvn1
$ svn merge trunk-url
# 分支合并到主干
$ svn merge --reintegrate branch-url
# 切换到分支
$ svn switch branch-url
# 删除分支
$ svn rm branch-url