zoukankan      html  css  js  c++  java
  • 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. 提交更改
  • 相关阅读:
    Vue 生命周期
    Vue
    对象
    【菜鸟学php】用菜鸟的眼光浅谈php上传文件
    在职程序猿为啥要考相关证书
    微信分享js失效,分享内容自定义将作为接口开放
    【菜鸟学Linux】gzip解压报错:gzip: stdin has more than one entry--rest ignored
    【菜鸟学php】在敲代码的路上,给自己点时间来思考
    【菜鸟学php】小菜鸟由帝国备份王在Wamp环境下打开500错误浅谈PHP程序员
    eclipse中使用ctrl无法追踪函数的问题(php项目)
  • 原文地址:https://www.cnblogs.com/Smileing/p/13806039.html
Copyright © 2011-2022 走看看