svn常用命令

阅读量: 483 编辑

一、代码检出 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