zoukankan      html  css  js  c++  java
  • 【吐血整理】SVN命令行,Subversion的正确使用姿势,让版本控制更简单~

    一、写在前面

         前面一直博主一直用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 要恢复的目录
    功能:恢复本地指定的目录或文件的修改

  • 相关阅读:
    最快速的Android开发环境搭建ADT-Bundle及Hello World
    android sdk manager 无法更新解决方法
    ADO.NET 新特性之SqlBulkCopy
    WCF错误:413 Request Entity Too Large
    构建高性能的ASP.NET应用程序
    编写高性能Web应用程序的10个技巧
    很不错的jQuery学习资料和实例
    学习jQuery之旅
    50个常用的JQuery代码
    机器学习瓶颈
  • 原文地址:https://www.cnblogs.com/liushilin/p/6401017.html
Copyright © 2011-2022 走看看