笔记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

posted @ 2020-07-20 23:52  小艾影  阅读(292)  评论(0编辑  收藏  举报