svn学习

1.svn特点

   (1)全局版本号:只要有一次变动,整体版本号就会加1

   (2)目录管理友好,可跟踪目录变动

   (3)二进制增量传输:只提交变化的部分

   (4)命令速度块

   (5)原子提交:类似数据库中事务的概念

    两个不同版本状态的一个文件是否一定不同?

    全局版本号:改了别的文件,版本号递增,但这个文件没变;

2.版本管理方式

    SVN代码库的存储结构:

  推荐存储结构:

  |-trunk

  |-branches

      |_tags

  常见两种结构:

      (1)

  |-trunk

      |     |-project1

      |     |-project2

  |-branches

      |     |-project1

      |     |-project2

      |_tags

      |     |-project1

      |     |-project2

     (2)

  |-project1   

    |-trunk

    |-branches

        |_tags

  |-project2  

    |-trunk

    |-branches

        |_tags

    SVN版本模型:拷贝 修改 合并

    工作副本:svn拿下来的本地文件的目录

    主干(trunk):对应线上使用的代码

  分支(branch):把整个目录拷贝到一个新的位置

    标签(tags):标签是为一些文件的拷贝,提供了版本库在某个特定时刻的“快照”,是只读的。

 

 

3.分支开发流程

  

4.svn常用命令 

   svn原生命令svn <subcommand>[options][args]

   (1)检出checkout  

          svn co URL

          创建一个分支的本质是什么?

    (2) 确认信息

         svn info 当前workcopy的分支版本等信息

         svn log 查看提交日志 

         svn st 文件增删及目录的 变化信息

         svn diff 文件修改细节检查

         svn命令状态码   

      " " 无修改    “A” 增加    “C” 冲突      “D” 删除

         “I”忽略       “M”改变    “R”替换

   “X” 未纳入版本控制的目录,被外部引用的目录所创建

   “?” 未纳入版本控制

   “!”该项目已遗失(被非svn命令删除)或不完整

        “~”版本控制下的项目与其他类型的项目重名

  (3)修改

         svn add

         svn  del

         svn rename

    (4)提交修改

         svn ci -m "commit comment"

posted @ 2012-08-22 19:15  silver1116  阅读(258)  评论(0编辑  收藏  举报