SVN常用命令集合_艾孜尔江撰

在平时的工作中我们大多数情况下喜欢使用Tortoise SVN之类的可视化版本控制工具,但笔者发现,命令行的方式进行版本控制在执行速度上将会更快一些。尽管在大多数情况下使用命令行并不是很方便,但只要用户习惯了,就非常顺畅了。针对于文件比较则还是可视化的会更加清晰一些。笔者下方展现了常用的SVN命令,供读者查用。




  • 代码检出,checkout也可以简写为co,这个命令会把服务器上的代码同步到我们电脑上
svn checkout svn://xxx.com/xxx/xxx
  • 更新代码,执行此命令后会把其他人提交的代码全部更新到我们自己电脑上,update也可以简写为up
svn update
  • 提交代码,commit可以简写为ci,-m参数后面跟的是本次提交的描述内容
svn commit -m "提交描述"
  • 添加新文件到版本库,只是标记了添加到版本库,我们还需要执行提交命令这个文件才会提交到服务器上
svn add filename
  • 添加当前目录下所有php文件
svn add *.php
  • 递归添加当前目录下的所有新文件
svn add . --no-ignore --force
  • 查看指定文件的所有log
svn log test.php
  • 查看当前目录近X期的log
svn log -lX
  • 查看指定版本号的log
svn svn log -r 100
  • 撤销本地文件的修改(还没提交的)
svn revert test.php svn revert -r 目录名
  • 撤销目录下所有本地修改
svn revert --recursive 目录名
  • 查看当前工作区的所有改动
svn diff
  • 查看当前工作区test.php文件与最新版本的差异
svn diff test.php
  • 指定版本号比较差异(命令中的数字是版本号)
svn diff -r 200:201 test.php
  • 查看当前工作区和版本301中bin目录的差异
svn diff -r 301 bin
  • 查看当前工作区的状态
svn status
  • 查看svn信息
svn info
  • 查看文件列表,可以指定-r查看,查看指定版本号的文件列表
svn ls svn ls -r 100
  • 显示文件的每一行最后是谁修改的(出了BUG,经常用来查这段代码是谁改的)
svn blame filename.php
  • 查看指定版本的文件内容,不加版本号就是查看最新版本的
svn cat test.py -r 2
  • 清理,这个命令我们经常在svn出现报错时可以执行一下,这样就会清理掉本地的一些缓存
svn cleanup
  • 若想创建了一个文件夹,并且把它加入版本控制,但忽略文件夹中的所有文件的内容
svn mkdir spool svn propset svn:ignore '*' spool svn ci -m 'Adding "spool" and ignoring its contents.'
  • 若想创建一个文件夹,但不加入版本控制,即忽略这个文件夹
svn mkdir spool svn propset svn:ignore 'spool' . svn ci -m 'Ignoring a directory called "spool".'
  • 切换当前项目到指定分支。服务器上更新新版本我们经常就用这个命令来把当前代码切换到新的分支
svn switch svn://xxxx.com/test/branches/online1.0
  • 重定向仓库地址到新地址。如果你的svn地址变了,不需要重新checkout代码,只需要这样重定向一下就可以了。
svn switch --relocate 原svn地址 新svn地址
  • 创建分支,从主干创建一个分支保存到branches/online1.0
svn cp -m "描述内容" http://xxxx.com/repos/trunk http://xxxx.com/repos/branches/online1.0
  • 合并主干上的最新代码到分支上
cd branches/online1.0 svn merge http://xxxx.com/repos/trunk
  • 分支合并到主干
svn merge --reintegrate http://svnbucket.com/repos/branches/online1.0
  • 删除分支
svn rm http://xxxx.com/repos/branches/online1.0
  • 查看SVN帮助
svn help
  • 查看指定命令的帮助信息
svn help commit
  • 递归清理工作拷贝,一般出现无法更新的时候检查一下是否有些文件被锁上了,用它来清楚锁,达到后续更新的有效性
svn cleanup [PATH...]




作者:艾孜尔江


__EOF__

本文作者艾孜尔江
本文链接https://www.cnblogs.com/ezhar/p/14835961.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   艾孜尔江  阅读(550)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2020-06-01 与甲方一条心
2020-06-01 Unity设置相机跟随物体
点击右上角即可分享
微信分享提示