SVN命令行使用介绍

1.对项目进行初始化工作

/*

 01 需要连接到远程的SVN仓库,把仓库下载到自己的电脑上

    $ svn checkouthttp://172.16.181.128/svn/XMG/–username=manager –password=manager

 02 切换到Code路径中,创建Main.m文件

    $ touch Main.m

 03 查看本地仓库中文件的状态

    $ svn status  //? 表示该文件没有被SVN管理

 04 把新创建的文件纳入到SVN的管理者,查看文件状态

    $ svn add Main.m //A 表示该文件被添加到SVN

 05 把本地仓库的更改(创建新的文件)提交到远程的服务器

    $ svn commit -m “创建了Main文件” Main.m  //注意每次提交的时候都需要写上注释

 06 修改Main.m文件

    $ echo “Main.m文件” > Main.m 

 07 查看文件的状态

    $  svn status //M 表示该文件被修改

 08 把本地的更改提交到远程的服务器

    $ svn commit -m “修改了文件” Main.m

 */

2.SVN命令行删除文件

/*

 01 项目经理删除Main.m文件,文件状态为D

    $ svn remove Main.m

 02 把本地的更改(删除操作)提交到远程的服务器

    $ svn commit -m “删除了文件” Main.m

 */

3.SVN相关命令行的简写

/*

 checkout — co 

 status  — st

 commit  — ci

 remove  — rm

 update  — up

 */

4.查看版本信息

/*

 01 首先需要更新获得最新的仓库信息

    $ svn update |svn up

 02 查看仓库的版本信息

    $ svn log

 */

5.新同事张三加入开发涉及操作

/*

 01 张三加入公司开发,分配SVN账号,账号=密码=zhangsan,并且设置权限

 02 张三连接到远程的服务器,把仓库下载到本地

    $ svn checkouthttp://172.16.181.128/svn/XMG/–username=zhangsan –password=zhangsan

 03 张三切换路径到Code,创建Dog.h Dog.m 文件

    $ touch Dog.h Dog.m

 04 查看文件的状态(? 注意新创建的文件默认是不会自动被SVN管理的)

    $ svn status

 05 把新添加的文件纳入到SVN的管理中

    $ svn add Dog.h Dog.m |svn add *(表示把当前文件路径中所有的文件都添加到SVN版本库中)

 06 张三把本地的更改提交到远程的仓库

    $ svn commit -m “创建了狗类” Dog.h Dog.m //可以不跟具体的文件名,如果不写那么表示把所有的更改提交

 07 项目经理更新获得最新的代码

    $ svn update

 08 项目经理修改Dog.h文件.往文件中输入内容-hello Dog!

    $ echo “hello Dog” >Dog.h

 09 项目经理把更改提交到远程的仓库

    $ svn commit -m “修改了文件输入hello Dog” Dog.h

 10 张三更新获得最新的仓库信息

    $ svn update

 */

6.多人开发的时候可能会产生冲突

/*

 01 项目经理往Dog.h文件中的第二行中写入数据 “你好,我是项目经理”,把更改提交到远程的仓库

    $ svn commit -m “输入你好,我是项目经理字符串” Dog.h

 02 如果张三没有更新代码,就直接修改了同一个地方

    $ svn commit -m “输入我是张三字符串” Dog.h

    ==error== is out of date 该文件过期:如果当前的版本低于服务器的版本那么无法提交成功

 03 张三需要先更新获得最新的仓库信息

    $ svn update //产生了冲突

 */

7.解决冲突01-使用tc

/*

 //tc 使用服务器端的数据内容来覆盖掉我本地的数据内容

解决冲突02-使用mc

 //mc 以我的为准,用本地的数据内容覆盖掉服务器端的,版本号 + 1

 //+ 还需要做一次提交

 $ svn commit -m “解决了冲突以mc的方式” Dog.h

解决冲突03-使用postpone(resolved)

 //p 手动的解决冲突

 (1) 打开有冲突的文件,把冲突解决(删除特殊字符)

 (2) 通过命令行告诉SVN已经手动的把冲突解决了 $ svn resolved Dog.h

 (3) 把更改提交到远程的仓库 $ svn commit -m “解决冲突使用p” Dog.h

 */

8.SVN版本回退操作(revert|merge)

/*

 版本回退的两种情况:

 01 本地的代码做了修改,该修改还没有提交到远程仓库,取消更改

    $ svn revert Dog.h

 02 本地的代码做了修改,该修改已经被提交到远程仓库,回退到上一个版本

    [1] 回到指定的版本 svn update -r版本号

        $ svn update -r14

        $ svn commit -m “Dog文件回退到上一个版本” Dog.h //直接提交没有反应(不能使用这种方式版本回退)

    [2] 版本回退

        (1)先更新获得最新的版本  $ svn update 

        (2)用指定版本的内容来覆盖当前版本的内容   

         $ svn merge -r15:r14 Dog.h //表示使用第14个版本的Dog.h文件内容来覆盖掉第15个版本的内容

        (3)还需要把更改提交到远程仓库

        $ svn commit -m “Dog文件回退到上一个版本”

 */

    原文作者:坤哥爱卿
    原文地址: https://www.jianshu.com/p/806e726db541
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞