一、写在前面

前面一直博主一直用svn的桌面版本,但看项目经理一直都用的命令行方式,不为性能,还能直接装逼呀!在这里先感谢赵哥,也把它分享给感兴趣的你们~

二、直接上干货

1. svn checkout path # path 是服务器上的目录
功能:从服务器 checkout 代码
简写:svn co path

2. svn status path # path 是文件或目录
功能:查看指定文件或目录的状态
简写:svn st path
字段1:
? 不在svn控制中
M 内容被修改
C 发生冲突
A 预定加入到版本库
K 被锁定
扩展:svn st -v path # 显示 path 文件的详细状态
字段1: 同上
字段2: 工作版本号
字段3: 最后一次修改的版本号
字段4: 最后一次修改的修改人

3. svn diff path # path 是需要比对的文件
功能:比对指定的文件
简写:svn di path
扩展:svn diff -r m:n path # path 文件在版本m和版本n之间进行比较

4. svn add path # path 是要添加的目录或文件
功能:添加指定的目录或文件

5. svn log path # path 是要查看的目录或文件
功能:查看指定目录或文件的所有修改纪录,及版本号的变化
扩展:svn log -l count path # count 是条数,path 是目录文件
功能:查看指定目录或文件的最近 count 次提交信息
扩展:svn log -r revision # revision 是要查看的版本
功能:查看指定版本的 log
扩展:svn log -v
功能:列出详细的log信息,包括每一个版本都修改了哪些文件

6. svn info path # path 是要查看的目录或文件
功能: 查看指定目录或文件的详细信息

7. svn revert [-R] path # path 是要恢复的目录或文件
功能: 恢复本地指定的目录或文件的修改

8. svn update
功能:更新svn库到最新版本
简写:svn up
扩展:svn update path # path 是要更新的目录或文件
扩展:svn update -r m path # path 要更新的目录或文件;
# m 是目标版本号

9. svn commit -m "message” # message 是提交的信息
功能:将当前目录下的所有已修改文件进行提交
简写:svn ci
扩展:svn ci path # path 是要提交的文件或目录

10. svn proplist
功能:查看当前目录下的 svn 属性信息
简写:svn plist

11. svn propget prop # prop 属性
功能:查看属性的值,如 :svn:ignore
简写:svn pget prop

12. svn propset prop value path # prop 属性,value 值,path 路径
功能:在 path 路径下,设置 prop 属性的值为 value
简写:svn pset prop value path

13. svn cp -m “message” original_url branch_url
#original_url 原始版本库地址,branch_url 要创建的branch的地址
功能:在svn服务端创建一个分支

14. svn merge original_url # original_url 主干的版本库地址
功能:将主干的最新代码合并到分支上
前提:当前所在目录是分支的根目录

15. svn merge —reintegrate branch_url
# branch_url 分支的版本库地址
功能:将分支合并到主干上
前提:当前所在目录是主干的根目录

16. svn rm branch_url # branch_url 分支的版本库地址
功能:删除分支

17. svn copy -m “message” original_url tag_url
# original_url 原始版本库地址,tag_url 要创建的tag的地址
功能:在svn服务端创建一个tag

18. svn merge -r m:n path
# m 当前最新的版本号
# n 要回滚的目标版本号
# path 文件或目录
功能:将文件或目录回滚到指定的版本号(反相合并)
与 svn up -r m path 的区别:
up只进行内容回退,版本库不记录此次文件的改变,svn st看不到文件的改变,无法提交revert内容
merge不仅进行内容回退,版本库会记录文件的改变,svn st可以看到文件的该表,可以将改变提交

19. svn resolve —accept working [-R] path
功能:解决指定文件或目录的冲突状态,如果path是一个目录并且想要对该目录下的所有子目录都生效,是要使用 -R 参数

20. svn diff -rm:n
# m 版本号
# n 版本号
功能:查看两次版本之间的具体差异,生成patch

21. patch -p0 < ***.patch
# ***.patch patch的文件名
功能:将某个patch打入到svn

22. svn merge -r newest:target
# newest 最新的版本号
# target 目标版本号
功能:将代码恢复到target的版本,并记录修改,当再次svn ci的时候,相当于revert,删除了newest与target之间的提交

23. svn export -r version original_file target_file
# version 指定的版本号
# original_file 指定的文件
# target_file 指定的目标路径
功能:导出指定文件的指定版本到指定路径

24. svn revert —depth infinity path
#path 要恢复的目录
功能:恢复本地指定的目录或文件的修改

【吐血整理】svn命令行,Subversion的正确使用姿势~的更多相关文章

  1. 使用命令行 Subversion 访问项目源文件(SVN)

    from:http://www.open.collab.net/scdocs/ddUsingSVN_command-line.html.zh-cn 命令行 Subversion 入门 如果您参与的项目 ...

  2. svn命令行修改已提交的版本备注

    svn命令行修改已提交的版本备注 参考文章: stackoverflow.com/questions/304383/how-do-i-edit-a-log-message-that-i-already ...

  3. [转]命令行 Subversion 入门

    http://omyyal.iteye.com/blog/1762831 命令行 Subversion 入门 如果您参与的项目正在使用 Subversion 进行版本控制,您将需要使用 Subvers ...

  4. 转:svn命令行操作

    原文:http://zhumeng8337797.blog.163.com/blog/static/10076891420115218821912/SVN命令行 -- ::| 分类: CVS |字号 ...

  5. Windows下SVN命令行工具使用详解

    根据我的记忆,似乎Windows 7下自自带一个svn命令行工具.如果你的机器没有,不必担心.你可以从http://subversion.tigris.org获 取subversion for win ...

  6. Linux环境SVN命令行使用经验总结(转)

    在windows机器上开发得差不多了之后,打包传送到开发机编译,在开发机上解决编译错误. [缺点] 浪费时间在打包解包,机器间传输代码. 在windows机器上开发之后,check in代码进分支,在 ...

  7. pycharm不支持svn,是需要svn命令行工具没有安装(for windows)

    1. 安装svn命令行工具 Subversion for Windows下载https://sourceforge.net/projects/win32svn/?source=typ_redirect ...

  8. Mac SVN 命令行

    Mac自带了SVN命令行,如我的升级到10.10(OSX yosemite)后命令行版本为1.7.10 以下是一些常用命令 1.将文件checkout到本地目录 svn checkout path(p ...

  9. [MAC] Mac下的SVN命令行

    转载自: http://www.cnblogs.com/snandy/p/4072857.html Mac自带了SVN命令行,如我的升级到10.10(OSX yosemite)后命令行版本为1.7.1 ...

  10. svn命令行批量删除和批量添加

    svn命令行批量删除和批量添加 如果使用svn的命令行,例如在linux下的终端中使用,svn的添加命令是svn add,删除命令是svn del,但是缺乏批量的操作,如果我在资源管理器中,手动添加了 ...

随机推荐

  1. 仿复制粘贴功能,长按弹出tips的实现

    方案分析: 方案一:监听长按事件弹出PopupWindow[可行,缺点布局是固定的,小语种下会出现菜单截断现象] 方案二:弹出ContextMenu[不可行,因为ContextMenu的菜单是上下排列 ...

  2. Apache Mina(二)

    在mina的源码,整个框架最核心的几个包是 : org.apache.mina.core.service :IoService.IoProcessor.IoHandler.IoAcceptor.IoC ...

  3. LPC2478的硬件IIC使用

    LPC2478的IIC使用 LPC2478带有三个IIC接口,每个IIC都可以工作在主机或者从机模式下,LPC的IIC的架构是一种状态机的形式,在不同的的时间做不同的工作之后有不同的状态来表示, 简单 ...

  4. S3C2440 TFTLCD驱动详解

    S3C2440自带有LCD控制器,该控制器主要有以下接口 仅仅说TFT显示器,TFT显示器的时序如下 TFT显示器的驱动是以行列的形式逐点扫描过来的,驱动时钟有三种,一种是行时钟,一种是列时钟,还有一 ...

  5. OpenGL ES

    前言 OpenGL ES是Khronos Group创建的一系列API中的一种(官方组织是:http://www.khronos.org/).在桌面计算机上有两套标准的 3DAPI:Direct3D和 ...

  6. nodejs抓取数据二(列表解析)

    这里做得比较暴力,没有分页取出数据解析,O(∩_∩)O哈哈~,居然没有被挂机.不过解析的坑特别多...不过大部分我想要的数据都拿到了. //解析列表数据 var http = require(&quo ...

  7. java学习(三) java 中 mongodb的各种操作

    一. 常用查询: 1. 查询一条数据:(多用于保存时判断db中是否已有当前数据,这里 is  精确匹配,模糊匹配 使用 regex...) public PageUrl getByUrl(String ...

  8. [osg]osg显示中文信息

    转自:http://www.cnblogs.com/feixiang-peng/articles/3152754.html 写好了在osg中实时显示中文信息的效果.中间遇到两个问题,一个是中文显示,一 ...

  9. 数据结构-String、char

    String 常用方法: 获取长度:int length = strl.length() 获取第i个字符:char iChar =  str.charAt(i) String转成字符数组:char[] ...

  10. Linux搭建Tomcat

    Linux系统运行确实很好,但是开发用,估计很少人用吧? 一.安装 1.下载tar.gz文件 2.解压,可以使用mv命令修改文件名 3.建立软连接: ln -s /usr/local/tomcat8. ...