svn学习笔记(一)
一、svn介绍
1.1 项目管理中的版本控制问题
通常软件开发由多人协作开发,如果对代码文件、配置文件、文档等没有进行版本控制,将会出现很多问题:
- 备份多个版本,占用磁盘空间大
- 解决代码冲突困难
- 容易引发BUG
- 难于追溯问题代码的修改人和修改时间
- 难于恢复至以前正确版本
- 无法进行权限控制
- 项目版本发布困难
1.2 什么是版本控制
版本控制(Revision control)是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。
1.3 svn是什么?
SVN(Subversion)是近年来崛起的版本管理工具,在当前的开源项目里(J2EE),几乎95%以上的项目都用到了 SVN。Subversion 项目的初衷是为了替换当年开源社区最为流行的版本控制软件 CVS,在 CVS的功能的基础上有很多的提升同时也能较好的解决 CVS 系统的一些不足。
1.4 svn的使用方法
svn是基于客户/服务器模式:
- 复制-修改-合并方案(Subversion默认的模式)
在这种模型里,每一个客户读取项目配置库建立一个私有工作副本——版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
- 锁定-修改-解锁方案
在这样的模型里,在一个时间段里配置库的一个文件只允许被一个人修改。 此模式不适合软件开发这种工作。
二、svn服务端安装配置
2.1 两种服务端安装包
【官方安装包】
官方网站:http://subversion.apache.org/
下载:http://subversion.apache.org/download.cgi
官方提供的服务端安装包,安装后需要通过命令行操作,适用于专业配置管理员使用。
【图形化服务端】
志愿者开发的图形化操作界面的svn服务端,它适用于普通软件开发人员使用。
下载地址:https://www.visualsvn.com/downloads/
2.2 安装图形化服务端
查看程序菜单:
查看服务,VisualSVN成功启动:
2.3 创建仓库
svn服务端创建完成需要创建仓库,仓库中存放要版本控制的文件。
启动VisualSVN server manager,新建仓库:
选择文件存储方式:
创建一个空的仓库:
设置用户访问仓库权限:
仓库创建成功:
仓库地址为https://ip地址或计算机名/svn/仓库名称
2.4 创建工程目录
仓库中存放开发项目代码、文档等,需要创建一个工程目录。
创建成功:
- trunk:项目开发代码的主体,是从项目开始直到当前都处于活动的状态,从这里可以获得项目最新的源代码以及几乎所有的变更历史信息。
- branch:从trunk的某个点分离出来的代码拷贝,通常可以在不影响主干的前提下在这里进行重大bug的修改,或者做实验性的开发,以及定制功能开发等。如果分支达到了预期的目的,通常可以被合并(Mgerge)到主干中。
- tag:用来表示trunk和branch的某个点的状态,以代表项目的某个稳定状态,通常为最终发布状态。
工程目录创建完成,查看它的svn地址:
拷贝svn地址:
三、TortoiseSVN客户端
3.1 svn客户端类型
svn客户端需要通过网络访问svn服务端提交文件、查询文件等,可通过以下客户端类型访问svn服务端:
1、使用Subversion提供的客户端命令,使用方式:在命令行下输入命令操作。
2、使用Torotise图形化界面操作(推荐)
3、使用Eclipse等开发工具插件操作(推荐)
3.2 TortoiseSVN的下载安装
TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,不需要为使用它而付费。
TortoiseSVN是 Subversion 的 Windows 扩展。它使你避免接触 Subversion 枯燥而且不方便的 Command Line。它完全嵌入 Windows Explorer,使用时只需在正常的窗口里右键操作就可以了。
下载:http://tortoisesvn.net/downloads.html 提供 32位和64位不同版本,安装tortoiseSVN 需要修改客户端电脑右键菜单,安装后需要重启电脑。
3.3 浏览仓库
使用Tortoise浏览svn服务端的仓库的内容:
四、权限管理(了解)
4.1 认证授权机制
在企业开发中会为每位程序员、测试人员等相关人员分配一个账号,用户通过使用svn客户端连接svn服务时需要输入账号和密码,svn服务对账号和密码进行校验,输入正确可以继续访问,当用户访问仓库下某个目录时,svn服务对用户进行授权,如果用户拥有该目录的访问权限方可访问。
判断账号和密码输入是否正确的过程即认证过程。
判断用户是否拥有目录的读/写权限时即授权过程。
4.2 创建用户
查看已创建的用户:
修改用户:
4.3 创建组
查看创建的组:
修改组:
4.4 分配仅限
给仓库下的每个目录分配权限对访问进行控制。
4.4.1 删除默认权限
删除系统安装后默认权限:
4.4.2 示例一:开发人员拥有读写权限
进入权限分配界面:
添加组或用户:
分配权限:
继承父目录权限、不可访问、读权限、读/写权限
访问时输入账号:
登陆测试是否有读/写权限:
4.4.3 示例二:测试人员拥有读权限
登陆测试是否有读/写权限:
4.4.4 清除认证缓存
有几种情况需要清除认证缓存:
1、本地使用多个账号登陆,每次输入的账号和密码都不一样
2、当账号密码修改后(建议清理)
转载于:https://www.cnblogs.com/yft-javaNotes/p/10311976.html
svn学习笔记(一)相关推荐
- svn拉取文件合并_svn如何使用import目录作为工作拷贝+我的svn学习笔记
前奏 svn作为一款极其优秀的开源版本控制系统,应用广泛,从组织到个人遍及各行各业.因此学习和熟练掌握它,对提高我们日常工作效率和数据安全非常重要,尤其对开发人员协同管理Project的文档,代码,各 ...
- SVN学习笔记11 -- Eclipse 中 SVN的相关操作 -- checkout and update
在此提及一下,笔记9中需要插件的连接我已经进行更新,需要的小伙伴可以去下载哈!我上传的,不要积分! 好,接下来我就做回项目组成员喽! 1.checkout 我们打开另一个eclipse 工作空间(模拟 ...
- [No000092]SVN学习笔记3-Import/Checkout(迁入/迁出),GetLock(加锁)
一.TortoiseSVN Client 获取服务器端的文件到新的本地文件夹 1.在本地新文件夹上右键菜单: 2.打开Repo-browser(可能需要输入你的用户名&密码) 3.输入服务器端 ...
- SVN 学习笔记-高级操作
所谓高级操作,只是曲高和寡,其实都不怎么用的.但是关键时候,可能会很有用. 这个高级只是针对基本操作而言.有些操作可能也是比较基本的. 清除锁 有时候我们在操作的时候,可能系统崩溃了,或者SVN非正常 ...
- SVN 学习笔记 (二,一口气学会SVN)
博客分类: 版本管理 我打算一口气讲完SVN的使用,所以,在看之前呢,请先深深的吸一口气(怎么听着像黑龙公主),当然吸完后还是要呼出来的.不要憋着了. 我们可能希望一来就直接操作.列出一堆命令.详细的 ...
- SVN 学习笔记二(一口气学会SVN)
我打算一口气讲完SVN的使用,所以,在看之前呢,请先深深的吸一口气(怎么听着像黑龙公主),当然吸完后还是要呼出来的.不要憋着了. 我们可能希望一来就直接操作.列出一堆命令.详细的命令参数等信息,我们都 ...
- 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- Hadoop学习笔记(1) ——菜鸟入门
Hadoop学习笔记(1) --菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户能够在不了解分布式底层细节的情况下.开发分布式 ...
- 命令行参数tail c语言,osg学习笔记2, 命令行参数解析器ArgumentParser
php简单实现socket通信 socket通信的原理在这里就不说了,它的用途还是比较广泛的,我们可以使用socket来做一个API接口出来,也可以使用socket来实现两个程序之间的通信,我们来研究 ...
最新文章
- OpenGL背景照明
- php函数知识点,php入门学习知识点七 PHP函数的基本应用_php基础
- 第三次学JAVA再学不好就吃翔(part42)--内部类概述
- 【转】selector函数指针回调机制
- linux hive mysql_Linux下的Hive与Mysql安装
- CentOS上安装mysql5.5.23
- 马化腾定义腾讯是普通公司,这波重新定义“普通”可还行......
- 服务器系统read,虚拟磁盘服务器系统的开发与实现-Read.PDF
- 公交导航准确度大PK:高德地图百度地图谁更精确
- 构造函数_析构函数_深拷贝与浅拷贝
- FreeNAS 安装与用户指导页
- Jupyter Notebook的使用02—两种模式的快捷操作
- VC6.0 TeeChart5.ocx注册
- 全国省市县数据库脚本
- 教你解决路由黑洞5招
- 跨职能流程图_领导跨职能团队的6个关键技巧
- MySQL 之1045错误
- 数据结构考点之n阶矩阵
- 微信公众号授权绑定第三方应用
- 【贪玩巴斯】大一暑假自学Linux笔记记录Day4 //纯新手入门基于ubantu