SVN使用环境
- 使用SVN管理源代码,必须有2套环境
- 服务器
- 用来存储客户端上传的源码
- 一般都是在Windows环境下安装Visual SVN Server
- 客户端
- 用来提交、回退、修改、下载等操作
- 服务器
一,在Windows安装Visual SVN Server
- 下载Visual SVN Server安装包
下载地址:百度网盘链接:https://pan.baidu.com/s/1jJWegi6 密码:d58v 官网下载:https://www.visualsvn.com/server/download/
- 打开安装包 --> next --> 同意协议 --> next --> 选择默认选项(安装SVN控制台)--> next --> 选择第一个按钮(标准版)--> next --> location:安装路径 Repositories:仓库路径 server Port:端口 旁边的https://选项不勾选(因为一般SVN都是在局域网,不会有安全问题)--> next -->Install --> 完成
二,创建SVN仓库
- 打开Visual SVN Server
- 右击Repositories --> 新建 --> Repository --> 设置仓库名称 --> 下一步 --> 选择第一项Enpty repository(空的仓库)--> 下一步 --> 设置访问权限(Nobody has access<无人能访问>、All Subversion users have Read/Write access<所有人可以读写>、Customize permissions<自定义访问>)因为是初始化仓库,所以先设置为没人能访问 --> 下一步 --> 完成
三,SVN仓库配置
- 在新建的仓库中新建文件夹(folder)Code:新建 --> Folder --> 文件夹名称 --> 完成
- 创建工程结构project structure(代码项目)。
创建完成后,目录结构下面会有trunk,branch,tags。
svn 目录结构,名称及功能说明: Trunk: 主干代码 (用于新功能的开发) Branch: 分支代码(用于解决项目路径中产生的bug) Tags: 版本标记(测试通过后上线的版本记录)
- 创建用户:右击Users --> Create user --> User name:用户名 Password:密码 Confirm password:确认密码 --> 完成
- 创建用户组(iOS、Android):右击Groups --> Create Group --> Group name:组名 --> Add:增加成员 --> 完成
- 配置仓库用户权限:右击仓库 --> Properties --> Add:添加成员或组 --> Permissions:设置权限(NO Access<无权限>、Read Only<只读>、Read/Write<可读可写>)--> 应用
- 配置完成
四,测试SVN仓库链连接是否正常
- 测试连接:也叫本地连接,就是在搭建SVN的服务器上测试是否可以连接,步骤如下:
- 右键仓库 --> Copy URL to Clipboard --> 打开浏览器 --> 在地址栏粘贴,并回车 --> 输入用户名密码 --> 这样就连接上仓库了
- 远程连接:测试完毕后就可以将地址发放给成员使用了
- 服务器地址获取方式
- 在服务器端打开命令行工具 --> $ ipconfig --> IP Address就是我们服务器地址
- 拼接链接地址
- 格式:http://服务器地址/SVN仓库路径 (比如我的:http://10.200.0.202:8443/svn/hengxin/)
- 使用者打开浏览器 --> 在地址栏粘贴并回车 --> 输入用户名密码 --> 这样就连接上仓库了
以上为服务器端操作,下面为客户端操作
五,SVN图形化管理软件(subversion)使用
1.安装subversion
SVN是Subversion的简称,是一个开放源代码的版本控制系统
Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样就可以把档案恢复到旧的版本,或是文件的变动历史。
SVN是一个通用的软件系统,他不但可以用来管理程序源码,也可以管理任何类型的文件,如文本、视频、图片等等
安装路径最好不要更改,否则会出现下面的错误
当安装完毕后,随意右击一个文件夹,如果出现svn checkout的选项,说明svn安装成功。
2.TortoiseSVN Client基础操作
2.1检出(checkout)
检出目录---提取数据,将服务器上的文件下载到本地
右键单击文件夹-checkout,输入仓库地址
仓库地址可以从visual svn server服务器中查找
点击checkout后,会出现下面图标,说明检出成功
2.2增加(Add)
在test项目文件下,新建一个b.txt文件,提交到版本库的方法如下2种:
1. 先提到变更列表中,再commit到配置库中,选择新增文件,右键SVN菜单执行"Add"操作提交到"变更列表中",然后右键SVN菜单执行"SVN Commit"提交到版本库中。
2. 不提交到变更列表中,而是直接commit配置库中,选择该文件,右键svn菜单执行"SVN Commit"操作。注意,commit(提交)时可以添加message(备注)
2.3.提交
将本地更新的文件提交到svn服务器中
右键刚才检出的文件夹--“svn commit”
2.4,删除(Delete)
1.如果被删除的文件还未入版本库,则可以直接使用操作系统的删除操作删除该文件。
2.如果被删除的文件已入版本库,则删除的方法如下:
2.1选择被删除文件,右键svn菜单执行"delete"操作,然后选择被删除文件的父目录,右键svn菜单执行"SVN Commit".
2.2使用操作系统的删除操作删除该文件,然后选择被删除文件的父目录,右键svn菜单执行"SVN Commit",在变更列表中选择被删除的文件。如下图:
2.5,改名(Rename)
修改文件名,选中需要重命名的文件或文件夹,然后右键"TortoiseSVN->Rename",在弹出的对话框中输入新名称,点击"ok"按钮,并将修改文件名后的文件或文件夹通过 "SVN Commit"提交到SVN服务器上。
我们可以看到改名操作,实际上是把原来的文件删除,然后再添加一个文件的操作
2.6.SVN还原(SVN Revert)
右击想要回退的文件或者文件夹,在TortoiseSVN弹出菜单中选择"Update to reversion…" 然后会弹出一个窗口,如下:
比如说我们要回退到第10个版本只需要在Revision中填写相应的版本号,然后点击ok即可(或者在HEAD revision中点击Show log查看相应版本)。
版本号的查看:
比如我们想回退到第2个版本,那么,只需在版本号中输入2,点击OK即可。
2.7.检查更新(Check for modifications)
此功能可以显示你所做的修改有哪些还没有提交的,此功能不光能看到对文件的修改变化,所有的变化都能看到,包括增加文件或者目录,删除文件或者目录,移动文件或者目录等,如果你点击了检查版本库,那你还可以看到版本库里的改动,既别人提交了哪些文件的改动,你还没更新到本地,如下文件上显示感叹号说明有变动文件未提交:
2.8.SVN更新(SVN Update)
更新本地代码与SVN服务器上最新的版本一致,只要在需要更新的文件夹上点击右键或者在文件下空白处点击右键,选择"SVN Update" (获取指定版本中的内容,点击右键执行SVN菜单中的"Update to reversion"),就可以了。
2.9.版本冲突
为什么会产生冲突代码呢?原因很简单就是因为不同的人,同时修改了同一个文件的同一个地方,这时候,他提交了,我没有提交,我就提交不了,这个时候我们要进行先更新,然后在进行提交即可使用revert(回滚)操作,该操作表示用户放弃自己的更新代码,然后直接提交,这个时候你的代码就会使用服务器上最新的代码,即A用户提交的新代码,你的代码不会被提交
第二种解决方法如下:
选择文件->右键Editconficts:这种方法需要冲突双方经过协商之后将代码更改统一之后再提交。不仅解决了冲突而且还保证了代码是正确的,因为只有一方的代码被提交.
接下来再说说由于冲突导致重要代码被覆盖的情况。冲突发生时如果采取的措施不对可能会导致部分代码丢失,如果想要还原之前的代码也很容易。
选择文件->右键选择show log在这里面你可以看见之前提交的所有版本,找到你想要恢复的版本右键选择revert to this version就可以恢复了.
2.10.版本库浏览(Repo-browser)
此功能是用来浏览需要查看的资料库,在本地文件夹下点击右键,选择TortoiseSVN->Repo-browser,在弹出的对话框中输入资料库地址,再输入用户名和密码,就能查看到你需要查看到版本库的内容,在这你还能看到那些文件被谁锁定了,如下图:
来源:https://www.cnblogs.com/dadonggg/p/8383696.html