1.31 SVN代码版本控制

参考资料:https://www.runoob.com/svn/tortoisesvn-intro.html

  1. SVN 教程
    1. SVN是什么?

      1. Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为 Apache 软件基金会的一个项目,同样是一个丰富的开发者和用户社区的一部分。
      2. SVN相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。
      3. Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。
      4. Git也是版本控制系统。但SVN是集中式,Git是分布式
    2. SVN的优点(相对于CVS的优点)

      1. 1、原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
      2. 2、重命名、复制、删除文件等动作都保存在版本历史记录当中。
      3. 3、对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处)
      4. 4、目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。
      5. 5、分支的开销非常小。
      6. 6、优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。
      7. 用三个词来总结就是——安全,效率,资源共享。
    3. SVN的应用场景

      1.  程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。
    4. SVN的原理和核心

      1. SVN 的一些概念

        1. repository(源代码库):源代码统一存放的地方
        2. Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份
        3. Commit(提交):当你已经修改了代码,你就需要Commit到repository
        4. Update (更新):当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更
        5. 日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了) 。
        6. 如果两个程序员同时修改了同一个文件呢, SVN 可以合并这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行,SVN 会提示文件 Conflict, 冲突,需要手动确认。
      2. SVN的主要功能

        1. 目录版本控制: 目录和文件都能进行版本控制。
        2. 真实的版本历史:
        3. 自动提交
        4. 纳入版本控管的元数据
        5. 选择不同的网络层
        6. 一致的数据处理方式‘
        7. 有效的分支(branch)与标签(tag)
        8. Hackability
      3. SVN的生命周期

        1. 创建版本库
        2. 检出
        3. 更新
        4. 执行变更
        5. 复原变化
        6. 修复错误
        7. 解决冲突
        8. 提交更改
posted @ 2020-10-12 22:30  Smileing  阅读(78)  评论(0编辑  收藏  举报