• 笔记13-1:SVN(subversion) 版本控制


    SVN:subversion简称 版本控制

    checout==把整个项目源码下载到本地,第一次下载时
    update==本地源码更新至服务器上的最新版本
    commit==将本地源码更新内容提交到服务器
    

    svm架构

    支持linux和windows,更多安装在linux下。
    --svm两种运行方式:1-独立服务器	2-借助apache运行
    --svm两种存储版本数据方式:
    	1-BDB==一种事务安全型表类型	
    	2-FSFS==一种不需要数据库的存储系统
    	服务器中断时,BDB可能锁住数据,所以FSFS更安全一点。
    --常用svn工具	如:
    	window下svn服务器可视化工具VisualSVN(默认svn服务为黑窗口命令行操作)
    	客户端工具TortoiseSVN
    	idea svn插件
    

    客户端工具TortoiseSVN操作

    文件夹右键:SVN Checkout==下载仓库中文件到本地
    文件右键 Tortoise SVN-》add  -》文件右键 SVN commit == 上传文件到svn服务器
    文件右键 SVN update == svn服务器文件最新同步更新本地文件
    文件右键 SVN commit == 本地文件作为最新版本上传到svn服务器
    文件右键 Tortoise SVN-》show log == 查看历史版本  -》选中版本右键update item to revition ==恢复版本
    文件右键 Tortoise SVN-》delete == 本地文件删除 -》文件夹右键SVN commit == 彻底删除
    
    import==把本地文件导入到svn中
    export==把仓库作为目录导出到本地
    

    冲突问题与解决

    --冲突情况:多个用户同时操作一个文件时,就可能产生冲突。
    	a、b两人版本相同为10,a用户修改后提交了此时版本为11,b用户没有更新到版本11也同时修改提交,
    	此时报错,点击更新后会下载几个文件。
    		1-与原文件同名文件==服务器文件和本地文件合并后结果
    		2-原文件名加了.mine == 本地未修改时源文件
    		3-.rxx == 修改前后各版本文件	
    --解决:选择错误文件右键,编辑错误,修改后再次点击commit提交
    --建议:为了避免冲突的产生,尽量每次修改前先smv update更新同步一下,如何再修改提交。
    

    snv目录结构及作用

    turnk:       主干目录,目录下的文件为基准文件      一般在主干上操作      主开发
    branches:    用于开发的分支目录      分支
          分支定义规则:project name+日期时间+功能点
    tags:        用于发布的版本目录      一般只读      做里程碑的标记
          tars定义规则:project name+版本号      版本号定义为三段数字 
    

    svn打分支或标签、主干合并

    打分支或标签


    主干相互合并

      ----主干合并到分支:保证主干最新,在分支操作
      ----分支合并到主干:保证分支最新,在主干操作
    



    svn命令行操作

    bin目录下存放svn相关命令
        svnadmin:给服务器管理员使用,创建仓库、账号
        Svnserve:启动svn服务器
        Svn:客户端命令工具
    lconv目录 存放svn依赖插件
    licenses目录 存放版权信息文件
    share目录 存放国际化文件
    
    当安装完成后,subversion默认安装目录bin加入到环境变量path,如果没有则要手动添加。
    
    服务端

    一、创建仓库查看目录结构

    1-创建目录
    2-cmd进入到创建的目录
    3-执行命令:"Svnadmin create 仓库名称 "后生成一个仓库,该目录下会多出一些文件
    

     

    conf 存放当前仓库的配置文件
    db 存放仓库版本的控制文件
    hookks 仓库脚本
    locks 锁文件

    二、启动服务器

    1-cmd进入创建仓库的目录
    2-执行命令:Svnserve -d -r 创建仓库的目录路径
    

    三、测试客户端连接服务器,默认窗口3690

    1-cmd进入创建仓库的目录
    2-执行命令:Svn checkout svn://localhost/仓库名称
    
    客户端

    1-进入cmd

    checkout:svn checkout svn://localhost/项目名称
    add:svn 待提交的文件
    commit:svn mommit(报错)
      出错原因:1-没有日志信息
      命令:svn 待提交文件 -m 'ok' (还是保错)
      出错原因:2-权限问题
      解决:在创建仓库的目录下conf目录下svnserve.conf文件修改anon-access = write
      执行svn comit -m 'over'即可提交
    update:svn update

  • 相关阅读:
    将python对象序列化成php能读取的格式(即能反序列化到对象)
    Atitit.研发管理---api版本号策略与版本控制
    Atitit.研发管理---api版本号策略与版本控制
    Atitit.jsou html转换纯文本 java c# php
    Atitit.jsou html转换纯文本 java c# php
    atitit.基于bat cli的插件管理系统.doc
    atitit.基于bat cli的插件管理系统.doc
    atititi.soa  微服务 区别 联系 优缺点.doc
    atititi.soa  微服务 区别 联系 优缺点.doc
    userService 用户 会员 系统设计 v2 q224 .doc
  • 原文地址:https://www.cnblogs.com/xiaoaiying/p/13344853.html
Copyright © 2020-2023  润新知