记录一下工作中常用到的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. [软件]Xcode查找系统framework所在路径

    有的时候, 我们不小心改了头文件, 导致Xcode系统库被修改(改回去也不行) 假设我改的是UIKit.framework类库里面的一个文件, 那么你只需要从另一个好使的电脑上, 在这个路径找到UIK ...

  2. js拾遗: 函数字面量

    今天落叶同学发我一篇文章,我看到一个"新"名词 "函数字面量" (也可叫直接量),当时我就郁闷了,这是什么东西? 我怎么没听说过..回头翻了下权威指南,在第 4 ...

  3. 公告:关注canvas的同学注意了

    因为我之前把基础大致都帮各位详细讲过了! 什么fill,line,乱七八糟的一堆.都有demo了 所以我最近写起来可能会快很多了!如果有不明白的只能请各位回顾下之前的文章了 毕竟如果按照这个进度写文章 ...

  4. JavaScript继承详解(四)

    在本章中,我们将分析Douglas Crockford关于JavaScript继承的一个实现 - Classical Inheritance in JavaScript. Crockford是Java ...

  5. Git Pull Failed: cannot lock ref 'refs/remotes/origin/xxxxxxxx': unable to resolve ref

    1.xxxxxxxx代表目录名称,我要pull的目录是supman_creditmall_v5: 2.从代码库中pull代码时报这个错误,代码pull失败: 3.解决办法,看下图,删除文件后再pull ...

  6. 【IT界的厨子】家常版本的黄焖鸡

    前言: 周末在家,闲来无事, 使用简单的食材,满足家人的味蕾,做出秒杀馆子的黄焖鸡(我是这么认为的).虽然没有厨师的手艺,但为家人做饭,也是一种幸福. 用料: 主料:老母鸡一只,要求店老板剁好 配料: ...

  7. 第10月第1天 iOS crash

    1. find /Applications/Xcode6.1.app -name symbolicatecrash -type f tempdeMac-mini:crash temp$ dwarfdu ...

  8. jquery或者js对html控件的处理汇总

    1.下拉列表select的处理 a).后台通过jquery获取的json数据对下拉列表select的赋值操作: html页面:<select name="gameserverlist& ...

  9. linux驱动---等待队列、工作队列、Tasklets【转】

    转自:https://blog.csdn.net/ezimu/article/details/54851148 概述: 等待队列.工作队列.Tasklet都是linux驱动很重要的API,下面主要从用 ...

  10. usb device address error 110

    ubuntu失灵了,怎么都起不来,报一堆错误usb device descriptor read/64, error 110......重启,换kvm的接口,usb键盘鼠标...终于在试了下面这个方法 ...