目录
1.SVN
1.1什么是SVN
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
1.2SVN的作用
- 如果没有SVN团队开发会出现什么问题?
使用SVN以后以上问题都能得到解决。
1.3常见的版本控制工具
- VSS:微软的,主要应用在微软的平台。
- CVS:早起的版本控制工具。
- SVN:取代CVS
- GIT:和SVN差不多,比较火的版本控制工具。
1.4SVN的使用
1.4.1SVN基本使用原理
1.4.2SVN使用模式
- 复制à修改à合并
- 锁定à修改à解锁
1.4.3SVN工作方式
1.5SVN的服务器安装
1.5.1下载:
官方网站:http://subversion.apache.org/
下载:http://subversion.apache.org/download.cgi
官方提供的服务端安装包,安装后需要通过命令行进行操作,适用于专业噢配置管理员使用。
1.5.2图形化服务端
图形化操作界面的svn服务器,适用于普通软件开发人员。
下载地址:https://www.visualsvn.com/downloads/
1.5.3安装图形化服务端
1.5.4创建仓库
svn服务端创建完成后,需要创建仓库,仓库中存放版本控制文件。
打开VisualSVNservermanager:
选择文件存储的方式:
创建一个空的仓库:
设置用户访问仓库的权限:
仓库创建成功:
仓库地址为https://ip地址/svn/仓库名称
1.5.4创建工程目录
仓库中存放项目代码,文档,需要创建一个工程目录。
创建成功。
1.6SVN的客户端安装
1.6.1svn客户端类型
Svn客户端通过网络访问svn服务端,提交文件,查询文件,可以通过以下客户端类型访问svn服务端:
- 使用subversion提供的客户端命令:使用方式在命令行,输入命令操作。
- 使用Torotise图形界面(推荐)
- 使用Ecliplse等开发工具插件操作(推荐)
1.6.2下载安装TortoiseSvn
TortoiseSVN是subversion版本控制系的一个免费开源客户端,不需要付费。
下载:http://tortoisesvn.net/downloads.html 提供32位和64位不同版本,安装tortoisesvn会修改客户端电脑右键菜单,安装后需要重启电脑。
1.6.3浏览仓库
使用TortoiseSvn浏览仓库内容:
1.7权限管理
1.7.1认证授权机制
1.7.2创建用户
查看创建的用户:
修改用户:
1.7.3创建组
查看创建的组:
修改组:
1.8分配权限
给仓库下的每个目录分配权限对访问进行控制。
1.8.1删除默认权限
删除系统安装后默认权限:
1.8.2开发人员拥有读写权限
进入权限分配界面:
添加组或用户:
分配权限:继承父目录权限,不可访问,读权限,读写权限。
客户端访问时输入账号:
登陆测试是否有读/写权限:
1.8.3测试人员拥有读权限
登陆测试是否有读/写权限:
1.8.4清除认证缓存
有以下几种情况,需要清除认证缓存:
- 本地使用多个账号登陆,每次输入的账号和密码都不一样。
- 账号密码修改之后。(建议清理)
1.9TortoiseSvn的基本使用
1.9.1浏览仓库
Repo-browser:浏览仓库中的资源信息
1.9.2导入导出
- Export:导出项目,和checkout的区别,checkout检出文件后,含有.svn隐藏文件夹,会和svn仓库交互,export导出,没有.svn隐藏文件夹。
- Import将本地资源导入到svn服务器。
1.10修改提交
1.10.1CheckOut
检出项目,复制项目的副本到本地。在要检出的目录中右键:
1.10.2add
在检出的目录中添加文件:
图标?说明是一个新文件:这是一个新文件。
- Add to ignore list:添加到忽略列表。(标记下、该文件不需要版本控制)
- Add:标记这个文件添加到服务器。
已经标记该文件要添加到版本库。
1.10.3Commit
当检出的目录或子目录中的内容有修改,目录图标将变为:。
提交Commit,将本地的修改提交至svn服务器:在检出目录或要提交修改的目录点击鼠标右键:
提交后目录中的内容与svn服务端内容同步,目录图标变为:。
1.10.4Update
更新仓库的文件到本地:在检出目录或子目录或文件上鼠标单击右键:
1.10.5更新到最新版本
1.10.6更新到指定版本
1.10.7Delete
Delete:删除版本库文件。
标记本地文件已经删除,需要提交服务器。
1.10.8恢复历史版本
在检出的目录或子目录,所有操作都会记录操作日志,提交前可以回滚,在要回滚的检出目录或子目录鼠标单击右键:
1.10.9冲突处理
两个客户端同时修改通一个文件,改动同一个位置,发生冲突情况。如果当commit时遇到文件已经过时,说明另外一个人可能改动过,这时需要先update。
- db.properties将本地文件和服务器文件合并到一起的文件。(不要直接看)
- db.properties.mine我本地自己修改后的文件。
- db.properties.r18我修改之前的文件。
- db.properties.r19别人修改后的文件。
手动合并后,需要将编辑后的冲突文件,标记为已解决,再Commit。
1.11eclipse的svn插件使用
1.11.1svn插件的安装
下载Subversion的svn的eclipse插件:http://subclipse.tigris.org/
下载:site-1.10,放在D盘
进入ecliplse
1.11.2svn将项目共享到SVN
新建SVN仓库链接,切换到”svn资源库”视图
共享项目到svn
1.11.3从SVN检出
1.11.4解决冲突
手动合并后,标记为解决:
https://blog.csdn.net/qq_23853743/article/details/84110054(SVN插件下载)