记录一下工作中常用到的svn命令

一、文件的提交流程

1.svn up   // 先更新本地文件

2.svn st   // svn status 查看要提交的文件

3.#svn ci -m "xxx" filename  // 提交要提交的文件

//加 # 号,是为了防止在输入命令时,不小心按错,直接提交,写好命令后,去掉 # 号

//注意:为确保文件的修改正确,可进行文件的 svn diff filename ,参考下面svn diff 命令

二、svn log

svn log -l 10 -v   // svn log -limit 10 -v  显示最近10条提交的log

若刚提交完的svn记录,svn log时不显示,需svn up后,在svn log

svn log -r5:18 -v   // 查看特定版本范围内的日志记录

svn log path/xxx |more   查找更多 xxx文件 提交的版本

svn log -r {2011-9-27}:{2011-9-29}  // 查看某个时间段内的日志

// 查看log中,特定用户提交的log (相当于是先查询,再搜索指定用户的log)

svn log -l 10 -v path/xxx | sed -n '/username/,/--$/ p'

三、svn diff

svn diff -r2566:2677 filename 对比file任意版本差异

svn diff filename 对比当前的文件和缓存在.svn下的版本库文件

svn diff -r9412 filename 对比当前文件和特定版本的的差异

四、svn revert (回滚版本)

回滚的操作过程如下:
1、保证我们拿到的是最新代码:
    svn update
    假设最新版本号是28。
2、然后找出要回滚的确切版本号:
    svn log -l 5 -v
    假设根据svn log日志查出要回滚的版本号是25,此处的something可以是文件、目录或整个项目
    如果想要更详细的了解情况,可以使用svn diff -r 28:25 [something]
3、回滚到版本号25:
    svn merge -r 28:25 目录/文件
    为了保险起见,再次确认回滚的结果:
    svn diff [something] 
    发现正确无误,提交。
4、提交回滚:
    svn commit -m "Revert revision from r28 to r25,because of ..."
    提交后版本变成了29。

将以上操作总结为三条如下:
1. svn update,svn log,找到最新版本(latest revision)
2. 找到自己想要回滚的版本号(rollbak revision)
3. 用svn merge来回滚: svn merge -r : something

五、其他

1.创建项目

svnadmin create /path/to/repos

2.导入文件
准备一个类似下面例子中的用来导入的文件、目录树。在树结构中,应该包含三个顶层目录:branches、tags 和 trunk

svn import /tmp/project file:///path/to/repos -m "initial import"

3.建立工作副本的拷贝

svn checkout file:///path/to/repos/trunk project
简写
svn co http://xxx.com newName

4.svn blame 显示特定文件和URL每一行的作者和修订版本信息

svn blame <file or url>  --  每一行文本在开头都放了最后修改的作者(用户名)和修订版本号。

svn blame -r <version> <file or url>

svn简单记录的更多相关文章

  1. JSP简单记录

    JSP,全称是Java Server Page,是运行在服务器端的页面,是建立在Servlet规范的动态网页技术,JSP文件在第一次请求时,会被编译成Servlet,所以JSP也可以看成是运行中的Se ...

  2. OpenCV安装配置的简单记录

    在ubuntu16.04下安装OpenCV 2.4.11的简单记录 1. 安装cmake,执行$apt-get install cmake即可,cmake -version验证 2. 下载OpenCV ...

  3. asp.net 简单记录请求的客户端和服务端 处理时间

    最近项目需要简单记录一下 ajax客户端和服务端处理时间,服务端时间的思路是借用BeginRequest和EndRequest事件,为了不影响现有接口返回的数据格式,因此服务处理时间放在respons ...

  4. PHP 版本简单记录

    PHP 版本简单记录 PHP 博物馆         http://museum.php.net/php5/ PHP 版本发布       https://secure.php.net/release ...

  5. 简单记录一次注入到shell

    0x00 前言 帮朋友之前拿的一个站,有点久了没有完整截图,简单记录一下. 0x01 基础信息 操作系统:win 集成环境:phpstudy 端口开放:82,3306,3389 有phpmyadmin ...

  6. oracle SCN推进恢复数据库 简单记录

    由于是在内网专用机器上操作,没有日志记录,下面做个简单记录:   前几天某供电局的的一个老数据库存储挂了,数据全部丢失,该库没有开归档,没接备份,怎么恢复? 由于存储损坏严重,从存储恢复不好搞. 好在 ...

  7. MacOS SVN简单入门

    背景:MacOS内置了SVN的客户端和服务器端的软件,下边所使用到的目录需要结合自己电脑的具体情况进行设置,并不是很困难. MacOS SVN简单入门 第一部分,创建本地的SVN测试仓库,并修改相应的 ...

  8. svn简单介绍

    版本号控制(Revision control)是维护project蓝图的标准做法,能追踪project蓝图从诞生一直到定案的过程.是一种记录若干文件内容变化.以便将来查阅特定版本号修订情况的系统. 能 ...

  9. eclipse 安装svn插件记录

    每个人都有自己喜欢的和习惯的一套开发环境,其中对于喜欢用eclipse的同学来说.subclipse插件可以说是必不可少的插件了. 他的安装有两种方法,一种是在线安装.然而这种安装实在是太慢了,无法忍 ...

随机推荐

  1. CSS规范 - 分类方法--(来自网易)

    CSS文件的分类和引用顺序 通常,一个项目我们只引用一个CSS,但是对于较大的项目,我们需要把CSS文件进行分类. 我们按照CSS的性质和用途,将CSS文件分成“公共型样式”.“特殊型样式”.“皮肤型 ...

  2. 编写 grunt 插件经验

    第一步: 先生成插件模板: 利用命令生成, 首先通过github工具获取gruntplugin模板文件: 第二步: 了解plugin/tasks/taskName.js的registerMultiTa ...

  3. Docker学习笔记二 使用镜像

    本文地址:https://www.cnblogs.com/veinyin/p/10408363.html  Docker运行容器前,需本地存在对应镜像,若没有则Docker从镜像仓库下载该镜像.  镜 ...

  4. getopts 用法

    getopts是linux系统中的一个内置变量,一般用在循环中.每当执行循环是,getopts都会检查下一个命令选项,如果这些选项出现在option中,则表示是合法选项,否则不是合法选项.并将这些合法 ...

  5. 使用Sysmon和Splunk探测网络环境中横向渗透

    当前很难在网络中探测攻击者横向渗透,其中原因有很难获取必要的日志和区别正常与恶意行为.本篇文章介绍通过部署Sysmon并将日志发送到SIEM来探测横向渗透. 工具: Sysmon + Splunk l ...

  6. Mysql导入脚本失败,提示需要SUPER权限

    1.删除: /*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ 2.查看增删函数有没有重复 3.删除: set GLOBAL log ...

  7. python psutil监控系统资源【转】

    通过 运用 Python 第三方 系统 基础 模块, 可以 轻松 获取 服务 关键 运营 指标 数据,包括 Linux 基本 性能. 块 设备. 网卡 接口. 系统 信息. 网络 地址 库 等 信息. ...

  8. 公共语言运行库(CLR)开发系列课程(3):COM Interop基础 学习笔记

    上章地址 什么是COM Component Object Model 组建对象模型 基于接口(Interface) 接口=协议 IID 标识接口 V-table 虚表 方式调用 单继承 对象(Obje ...

  9. RHEL7 -- 使用Chrony设置时间与时钟服务器同步

    Chrony是一个开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确. 它由两个程序组成:chronyd和chronyc. chronyd是一个后台运行的守护进程,用于调整内核 ...

  10. Service Mesh 及其主流开源实现解析(转)

    什么是 Service mesh Service Mesh 直译过来是 服务网格,目的是解决系统架构微服务化后的服务间通信和治理问题.服务网格由 sidecar 节点组成.在介绍 service me ...