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. 提交更改

猜你喜欢

转载自blog.csdn.net/qq_36883100/article/details/128911002