zoukankan      html  css  js  c++  java
  • SVN的介绍和使用

    1.SVN介绍

      SVN是Subversion的简称,是一个自由开源的版本控制系统。
      Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,

      这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节

    2.SVN基本概念

      

       怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰?

        复制-修改-合并方案(Subversion默认的模式)
          在这种模型里,每一个客户读取项目配置库建立一个私有工作副本——版本库中文件和目录的本地映射。用户并行工作,
          修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。

        锁定-修改-解锁方案
          在这样的模型里,在一个时间段里配置库的一个文件只允许被一个人修改。 此模式不适合软件开发这种工作。

    3.SVN使用

      SVN是一种集中式管理代码的版本控制系统,原理就是把代码都保存到一个固定的位置(仓库),每次从这个位置拷贝更新代码,进行编辑;
      再把修改后的代码提交到该目录中。多人协作开发也是如此。因此需要一个类似Oracle或者Mysql的服务器,
      用于保存和管理库文件(要保存的代码等文件)的服务端——VisualSVN Server。
      还需要一个用户的操作端,用于提交更新检出代码,常用的有idea的Svn插件,以及TortoiseSVN(小乌龟)。

      SubVersion 官网:http://subversion.apache.org/packages.html#windows 可以在这里下载 VisualSVN

      服务器端VisualSVN安装与创建仓库

        

        

        查找 visualSVN Server Manager 应用打开图形化管理界面

         

       VisualSVN创建工程目录

        

       VisualSVN 权限控制

        创建用户

        

        

         创建组

        

        分配权限

        

      客户端TortoiseSVN安装与使用

        TortoiseSVN是一个基于windows系统的svn客户端图形化界面

        Tortoise SVN下载:和 VisualSVN 一样,也是在 SubVersion 官网

        

         Tortoise SVN安装:安装后需要重启电脑

        

         Tortoise SVN 常用操作

          浏览仓库

          

           checkout

          

          

           add:意思是添加到svn服务器

          

           commit

          

           

           

           update:更新操作,可以将svn服务器上的内容更新到本地

          

           更新到历史版本

          

           

           delete:标记删除操作,本地文件会删除,我们需要进行提交,才能真正从服务器删除

          

           导入与导出

           

            Import将本地资源导入到svn服务器
            Export导出项目,和checkout的区别,它不存在.svn隐藏文件

          冲突问题与解决

            多个用户同时操作同一个文件时,就可能产生冲突情况。

            发生冲突产生后如何解决,我们可以采用手动Merge,解决冲突后,重新commit.

            发生冲突后会产生的文件:
              

                HelloWorld.java 它是服务器上的文件与本地文件合并
                HelloWorld.java.mine 本地修改后的文件
                HelloWorld.java.r4 修改前的文件
                HelloWorld.java.r5 对方修改后的文件

            解决冲突:

              

  • 相关阅读:
    深浅复制
    iOS 和 H5 页面交互(WKWebview 和 UIWebview cookie 设置)
    iPhone 启动页尺寸
    AVAssetDownloadURLSession 简述
    iOS性能优化
    测试用例编写
    flutter_boot android和flutter源码阅读记录
    com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    android sdk tools里找不到draw9patch.bat 如何制作.9.png 格式图片
    排球比赛计分系统
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12326241.html
Copyright © 2011-2022 走看看