SVN 配置和使用
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,在弹出的对话框中输入资料库地址,再输入用户名和密码,就能查看到你需要查看到版本库的内容,在这你还能看到那些文件被谁锁定了,如下图:
SVN 配置和使用的更多相关文章
- centos apache svn配置
单独安装svn服务: 安装svn软件 yum install subversion 创建根目录 mkdir -p /var/www/svn 创建版本库repos svnadmin create /va ...
- Eclipse插件SVN配置
Eclipse插件SVN配置 方法一 打开Eclipse点击[Help]-[Install New Software] 点击右边[Add]-在弹出窗口中输入 Name:svn Location:htt ...
- svn配置
svn配置 subverson.conf <Location /svn> DAV svn SVNListParentPath on SVNParentPath /var/repo Auth ...
- centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解
centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解 操作系统:centos 7.2 x86_64 安装walle系统服务端 1.以下安装,均在宿主机( ...
- Xcode SVN配置
Xcode SVN配置 编辑 ~/.subversion/config 文件 注意:假设".subversion"文件夹不存在.请执行"svn status" ...
- SVN配置钩子
安装测试环境:109 CentOS4.6 安装: SVN1.32http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz安装:解压 ...
- svn配置多仓库与权限控制
telnet: connect to address 47.106.115.228: Connection refused svn执行上下文错误由于目标计算机积极拒绝无法连接 标签: svn 2017 ...
- IntelliJ IDEA下SVN配置及使用
一.在IDEA中使用SVN,首先需要下载安装 TortoiseSVN 插件. 打开 TortoiseSVN 下载地址,选择适合自己的系统类型下载. 接下来,进行安装即可.选择Modify,默认 com ...
- SVN配置自启动-1053错误
主要内容:解决启动“配置的svn自启动服务”报1053错误 1. 环境: 系统: wind10 svn服务端版本: VisualSVN-Server-3.8.0-x64 2. 配置自启动 以管理员身份 ...
- SVN配置以及自己主动部署到apache虚拟文件夹
SVN配置以及自己主动部署到apache虚拟文件夹 一.VisualSVN server 服务端和TortoiseSVNclient下载 VisualSVN下载:http://subversion.a ...
随机推荐
- Android.mk文件c++头文件包含问题
Eclipse 中 Android.mk文件c++头文件包含问题 jni中的目录结构如下: 编译找不到头文件 LOCAL_PATH := $(call my-dir)LOCAL_C_INCLUDES ...
- imx6 qt 24bpp RGB
imx6运行qt,在24bit的LVDS接口屏上显示时,显示效果与实际的不同.蓝色变成了黄色. 本来应该显示成蓝色: 实际上去显示成了黄色: 而其他绿色的图标并没有改变,只是蓝色和黄色互换了. 猜想应 ...
- 学习 C++,关键是要理解概念,而不应过于深究语言的技术细节
学习 C++学习 C++,关键是要理解概念,而不应过于深究语言的技术细节. 学习程序设计语言的目的是为了成为一个更好的程序员,也就是说,是为了能更有效率地设计和实现新系统,以及维护旧系统. C++ 支 ...
- eclipse项目配置tomcat后浏览器访问不到项目解决方案
先把项目从tomcat溢出,并删除tomcat,然后再次导入 双击: 修改:
- Powershell 的自己主动部署
工作中反复性的版本号移植,一天上线10几次,让我痛不欲生,频繁的操作也可能出现疲劳性失误,导致严重的生产故障.于是乎,闲暇时间.我開始研究使用powershell自己主动部署程序到Linuxse ...
- c++ template<typename T>
template <typename T> 网上查了半天不知所云,网上说的太多,俺只是要知道所需要的就可以了. 写了个程序试了一下,其实就是这个东西可以根据你所需要的类型就行匹配.其实就是 ...
- shell脚本中特定符合变量的含义
shell脚本中特定符合变量的含义: $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数.与位置变量不同,此选项参数可超过9个 $$ 脚本运行的当前进程PID号 ...
- 【Python】添加注册表信息脚本
http://wrox.cn/article/1004030/ # -*- coding: utf-8 -*- """ Created on Tue Jun 02 16: ...
- HEVC compressGOP 接口
HEVC编码调用compressGOP()来实现一个GOPSize 图像序列的编码.在reference code里,真正做compressGOP编码之前,需要存GOPSize帧YUV在m_cList ...
- 验证码显示不出来,在THINKPHP中的使用
未开启 php_gd2设置 php的配置文件php.ini,搜索extension=php_gd2.dll,去掉前面的分号即可: 1.在模块类中增加一个 verify 方法来用于显示验证码Public ...