zoukankan      html  css  js  c++  java
  • Linux学习篇SVN命令详解

    在开发中,除了在本机文件夹上进行svn更新外,在命令行中进行svn操作也非常关键,下面列举下网站摘抄的一些文档:
    1、将文件checkout到本地目录

    svn checkoutpath(path是服务器上的目录)
    例如:svn checkout svn:
    //192.168.1.1/pro/domain
    简写:svn co


    2、
    往版本库中添加新的文件

    svnaddfile
    例如:svn
    add test.php(添加test.php)
    svn
    add *.php(添加当前目录下所有的php文件)


    3、将改动的文件提交到版本库

    svn commit-m LogMessage [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
    例如:svn commit -m
    add testfile for my testtest.php
    简写:svn ci


    4、加锁/解锁

    svn lock -mLockMessage [--force] PATH
    例如:svn lock -m
    lock testfile test.php
    svn unlock PATH


    5、更新到某个版本

    svn update -r mpath
    例如:
    svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
    svn update -r
    200test.php(将版本库中的文件test.php还原到版本200)
    svn updatetest.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svnresolved,最后再提交commit)
    简写:svn up


    6、查看文件或者目录状态

    svn statuspath...(目录下的文件和子目录的状态,正常状态不显示)
    【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
    2svnstatus -v path(显示文件和子目录状态)
    第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
    注:svn status、svn diff和 svnrevert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
    简写:svn st


    7、删除文件

    svn delete path-m delete test fle
    例如:svn delete svn://
    192.168.1.1/pro/domain/test.php -m delete testfile
    或者直接svn delete test.php 然后再svn ci -m ‘delete testfile‘,推荐使用这种
    简写:svn (del, remove, rm)


    8、移动文件或者目录或文件更名

    svn move -m“move test fle
    例如:svn move
    -m“move test file” a.php  b.php把当前目录下的a.php改名为b.php
    svnmove -m “move testfile” address admin/address把当前目录下得address目录移动到当前目录下的admin/address
    或者直接svn delete test.php 然后再svn ci -m‘delete test file‘,推荐使用这种
    简写:svn (del, remove, rm)



    9、查看日志

    svn log path
    例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化


    10、查看文件详细信息

    svn info path
    例如:svn info test.php


    11、比较差异

    svn diffpath(将修改的文件与基础版本比较)
    例如:svn diff test.php
    svn diff -r m:n path(对版本m和版本n比较差异)
    例如:svn diff -r 200:201 test.php
    简写:svn di



    12、将两个版本之间的差异合并到当前文件

    svn merge -r m:npath
    例如:svn merge -r
    200:205test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)


    13、SVN 帮助

    svn help
    svn help ci


    ——————————————————————————

    以上是常用命令,下面写几个不经常用的

    ——————————————————————————

    14、版本库下的文件和目录列表

    svn list path
    显示path目录下的所有属于版本库的文件和目录
    简写:svn ls

    15、创建纳入版本控制下的新目录

    svn mkdir:创建纳入版本控制下的新目录。
    用法: 1、mkdir PATH…
    2、mkdir URL…
    创建版本控制的目录。
    1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
    调度,以待下一次的提交。
    2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
    在这两个情况下,所有的中间目录都必须事先存在。

    16、恢复本地修改

    svn revert:恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:
    用法: revert PATH…
    注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
    被删除的目录

    17、代码库URL变更

    svn switch (sw):更新工作副本至不同的URL。
    用法: 1、switch URL [PATH]
    2、switch –relocate FROM TO [PATH...]

    1、更新你的工作副本,映射到一个新的URL,其行为跟“svnupdate”很像,也会将
    服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
    方法。
    2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动
    (比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
    这个命令更新工作副本与仓库的对应关系。

    18、解决冲突

    svn resolved:移除工作副本的目录或文件的“冲突”状态。
    用法: resolved PATH…
    注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
    相关文件,然后让 PATH 可以再次提交。

    19、输出指定文件或URL的内容。

    svncat 目标[@版本]…如果指定了版本,将从指定的版本开始查找。
    svn cat -r PREV filename > filename (PREV是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

  • 相关阅读:
    hihoCoder #1062 : 最近公共祖先·一
    hihoCoder #1050 : 树中的最长路
    hihoCoder #1049 : 后序遍历
    108 Convert Sorted Array to Binary Search Tree 将有序数组转换为二叉搜索树
    107 Binary Tree Level Order Traversal II 二叉树的层次遍历 II
    106 Construct Binary Tree from Inorder and Postorder Traversal 从中序与后序遍历序列构造二叉树
    105 Construct Binary Tree from Preorder and Inorder Traversal 从前序与中序遍历序列构造二叉树
    104 Maximum Depth of Binary Tree 二叉树的最大深度
    102 Binary Tree Level Order Traversal 二叉树的层次遍历
    101 Symmetric Tree 判断一颗二叉树是否是镜像二叉树
  • 原文地址:https://www.cnblogs.com/caizhendong/p/5456026.html
Copyright © 2011-2022 走看看