• SVN使用


    .使用 SVN 终端命令 (个人开发)

    1.SVN 帮助

    svn help  查看全部功能选项

    2.初始化项目

    例 svn help import 查看怎么导入 输出 import [PATH] URL 

    [PATH]本地路径  URL 服务器地址

    //本地初始化一个项目

    //把一个工程导入服务器

      svn import 本地路径 服务器地址 -m

    //-m 表示上传文件的描述

    3.//把服务器的文件夹下载到本地

    //本地建一个文件夹  cd 文件夹 进去文件夹的路径,

    svn checkout 服务器地址    svn checkout URL[@REV]... [PATH]

    4.查看修改的文件

    首先cd 进入本地文件夹 

    svn status //查看被修改的文件

    5.提交文件

    svn commit -m

    // svn commit -m "abc"

    6.添加文件 svn add 需要添加的文件

    //例 svn add cha.h cha.m

     

    7.删除文件 svn remove 需要删除的文件

    // svn remove cha.h cha.m

    8.svn log 查看日志

    9.更新文件

    svn update //后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本

    svn update -r 修正版本 文件名

    svn update 文件名

    10、查看文件详细信息

    svn info path

    11恢复本地修改 

    svn revert [--recursive] 文件名

    注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录。

    例子:

    svn revert foo.c <- 丢弃对一个文件的修改

    svn revert --recursive . <-恢复一整个目录的文件,. 为当前目录

    12、新建一个分支copy

    svn copy branchA branchB  -m "make B branch" // 从branchA拷贝出一个新分支branchB

    13、合并内容到分支merge

    svn merge branchA branchB  // 把对branchA的修改合并到分支branchB

    使用 svn 多人开发

     

    1.首先本地新建文件夹

    cd 进入文件夹

     

    2.把服务器的文件夹下载到本地

    svn checkout 服务器地址 --username=用户名 --password=密码

     

    3.提交文件需要加上--username=用户名

    svn commit -m --username=用户名

    // svn commit -m "abc" --username=用户名

     

    4.其他命令一样

     

    5.解决冲突

    .我提交一个修改的文件到服务器,另一个人同时也修改了这个文件,代码没有更新,直接提交,这时因为版本不一样

    报错 超时

     

    .另一个人需要先更新代码,但是由于两个人同时修改一个文件会产生冲突,这时会有三种情况

    Select: (P) postpone, (df) diff-full, (e) edit   //延迟处理

                (mc) mine-conflict, (tc) theirs-conflict //保留我的   ,  保留另外一个人的

                (s)show all options://在这里选这结果

    //选择延迟处理本地会出现三个文件

    选择同时修改的文件删除<<<<<<< 我的代码       >>>>>>>>>服务器的代码  保留两份代码,两份代码已经合在一起

     

    执行 svn resolved [本地目录全路径]

    svn commit -m"解决冲突" --username=用户名

     

    版本回退

    1.恢复本地修改 

    svn revert [--recursive] 文件名

    2.服务器代码版本回退

    svn merge main.m -r 3:2

    //main 要恢复的文件  3:2 当前最新的版本恢复到2版本

    3.svn update -r 修正版本 文件名 //这只能修改本地文件版本号,

    //要想把服务器文件版本号改变,这是可以提交,此时会产生冲突,利用冲突来修改服务器的代码

    svn st 显示的文件状态

    ' ' 没有修改

    'A' 被添加到本地代码仓库

    'C' 冲突

    'D' 被删除

    'I' 被忽略

    'M' 被修改

    'R' 被替换

    'X' 外部定义创建的版本目录

    '?' 文件没有被添加到本地版本库内

    '!' 文件丢失或者不完整(不是通过svn命令删除的文件)

    '~' 受控文件被其他文件阻隔

    命令

    功能

    使用格式

    checkout

    检出

    svn  co  URL

    up

    更新到当前URL的末端

    svn  up

    switch

    更新到某一tag/branch

    svn  switch  (tag/分支)URL

    add

    增加

    svn  add  文件名

    rm

    删除文件

    svn  rm 文件名

    删除目录

    svn  rm 目录名

    diff

    与base版本(最后检出或者更新到的版本)对比

    svn  diff

    与版本库中最新版本对比

    svn  diff  -r  head

    当前工作副本,两个版本之间对比

    svn  diff  -r  reversion1:reversion2

    版本库中任意两个tag做对比

    svn   diff    (tag1)URL    (tag2)URL

    ci

    提交

    svn ci -m "commit log"

    log

    查看当前工作副本log

    svn  log

    只查看指定版本的log

    svn  log  -r

    打印log所有附加信息

    svn  log  -v

    查看当前tag/branch版本详情

    svn  log --stop-on-copy -v

    info

    查看当前工作副本所在URL

    svn  info

    status

    查看工作副本的状态

    svn st

    查看文件的taglist

    svn命令不支持,可执行cs taglist

    tag

    新增tag

    svn cp . (tag)URL

    删除tag

    svn rm (tag)URL -m "commit log"

    覆盖已经存在的tag

    不支持

    分支开发

    创建branch

    svn  cp  (基线版本)URL (分支)URL  -m "commit log"

    删除branch

    svn rm (分支)URL   -m "commit log"

    同步

    svn co (主干)URL

    cd ~/wc

    svn merge (主干)URL (待同步tag)URL

    svn ci -m "commit log"

    svn cp (主干)URL (以_PD_BL_MAIN结尾的tag)URL -m"commit log"

    合并

    svn co (合并目标)URL

    cd ~/wc

    svn merge (基线版本tag)URL  (上线tag)URL

    svn ci -m "commit log"

    svn cp (合并目标)URL (上线tag_MERGE_的tag对应)URL -m"commit log"

  • 相关阅读:
    C#中使用My实现单例应用程序
    喝着啤酒学Python(2):第一个HelloWorld
    再读《精通css》04:盒模型和空白边叠加
    再读《精通css》07:圆角
    再读《精通css》08:阴影
    @ResponseBody 乱码
    再读《精通css》05:定位、浮动与清理
    关于javascript面向对象的一点思考
    再读《精通css》06:背景图片
    【求解释】关于第三方接口调用中安全的疑问
  • 原文地址:https://www.cnblogs.com/ningmengcao-ios/p/5768162.html
Copyright © 2020-2023  润新知