zoukankan      html  css  js  c++  java
  • 笔记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

  • 相关阅读:
    73. Set Matrix Zeroes
    289. Game of Live
    212. Word Search II
    79. Word Search
    142. Linked List Cycle II
    141. Linked List Cycle
    287. Find the Duplicate Number
    260. Single Number III
    137. Single Number II
    Oracle EBS中有关Form的触发器的执行顺序
  • 原文地址:https://www.cnblogs.com/xiaoaiying/p/13344853.html
Copyright © 2011-2022 走看看