zoukankan      html  css  js  c++  java
  • SVN的命令行操作

    最近在进行svn二次开发,使用的是svnkit。看了很多svnkit的api,渐渐发现都是和SVN的命令行操作对应的。顺便研究一下svn的命名行操作。

    1.将文件checkout到本地目录:

      基本命令:svn checkout 服务器地址 本地目的文件夹

      可简化为:svn co 服务器地址 本地目的文件夹

      效果:

      

    2.将文件add到服务器

      基本命令:svn add 工作目录中的文件

      效果:

      

      注意:若不是工作目录会提示错误:

      

      

    3.查看文件信息:

      基本命令:svn info 工作目录的文件

      效果:

      

      

    4.显示工作目录下的文件:

      基本命令:svn list 工作目录或文件

      效果:

      

    5.比较文件差异:

      基本命令:

      svn diff path(将修改的文件与基础版本比较)
      svn diff -r m:n path(对版本m和版本n比较差异)

      效果:

      

      

    6.更新到某个版本:

      基本命令:svn update -r m path
      简写:svn up

      效果:

      

    7.import操作

      基本命令; svn import 要导入的文件夹路径 服务器地址 --message "随便的话"

      效果:

      

    8,提交操作commit:

      基本命令:svn commit 工作区要commit的文件路径 -m "commit"

      简写:svn ci 工作区要commit的文件路径 -m "commit"

      效果:

      

     9.重命名操作:

      基本命令:svn mv 服务器中文件路径 要更改的名称 --message "rename"

      效果:

      

    10,删除版本库中的文件

      基本命令:svn delete 服务器上的要删除的文件的路径 --message "delete"

      效果:

      操作之前:

          操作之后;

    11.回滚命令revert

      基本命令:svn serve 要取消修改的文件路径

      效果:

      

      

    取消对代码的修改分为两种情况:
     
    第一种情况:改动没有被提交(commit)。
    这种情况下,使用svn revert就能取消之前的修改。
    svn revert用法如下:
    # svn revert [-R] something
    其中something可以是(目录或文件的)相对路径也可以是绝对路径。
    当something为单个文件时,直接svn revert something就行了;当something为目录时,需要加上参数-R(Recursive,递归),否则只会将something这个目录的改动。
    在这种情况下也可以使用svn update命令来取消对之前的修改,但不建议使用。因为svn update会去连接仓库服务器,耗费时间。
    注意:svn revert本身有固有的危险,因为它的目的是放弃未提交的修改。一旦你选择了恢复,Subversion没有方法找回未提交的修改。

    12.更强大的回滚命令merge

      基本命令:svn merge -r 当前版本号:要回滚的版本号 文件路径

      

    第二种情况:改动已经被提交(commit)。
    这种情况下,用svn merge命令来进行回滚。 
       回滚的操作过程如下: 
       1、保证我们拿到的是最新代码: 
         svn update 
         假设最新版本号是28。 
       2、然后找出要回滚的确切版本号: 
         svn log [something]
         假设根据svn log日志查出要回滚的版本号是25,此处的something可以是文件、目录或整个项目
         如果想要更详细的了解情况,可以使用svn diff -r 28:25 [something]
       3、回滚到版本号25:
           svn merge -r 28:25 something
         为了保险起见,再次确认回滚的结果:
           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
  • 相关阅读:
    Tomcat常设参数
    JSON
    Linux常用命令
    【Swagger2】【3】API注解详解,以及注解常用参数配置
    【实战问题】【13】报错springBoot-tk.mybatis.mapper.MapperException: 无法获取实体类com.xx.User对应的表名!
    【实战问题】【12】报错org.apache.commons.lang.exception.NestableRuntimeException
    【Java】【50】BeanUtils.copyProperties();只从源对象中拷贝自己为null的值
    【JS】【32】清空file文件域
    【MySQL】【7】AES_ENCRYPT()加密与AES_DECRYPT()解密
    【Swagger2】【2】SpringBoot整合Swagger2
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/svncommand.html
Copyright © 2011-2022 走看看