介绍配置管理工具SVN的使用
配置管理CM(Configuration Mangerment)
一、配置管理工具SVN的介绍
---Subversion
---是一个开放源代码的版本控制系统
---时下流行的SVN和GIT
每天开发人员从服务器上获取最新的代码——get
下班时提交代码数据至服务器——commit
优点:方便大家共享资料
常见的一些TortoiseSVN图标集
如果不使用配置管理工具的话会导致:
二、安装配置管理工具SVN服务器
1、双击桌面上的SVN服务器安装包
2、进入SVN服务器的安装向导界面,点击下一步
3、勾选“I accept the terms in the License Agreement”,点击下一步
4、选择第一个红框内的“服务器和管理工具”并勾选第二个红框内的“添加至环境变量”,点击下一步
5、点击“Standard Edition”(标准版)按钮
6、进入此界面后,可自定义“服务器安装路径”和“版本库安装路径”,端口号设置为:8443,设置好后点击下一步
7、点击“Install”按钮,进行安装操作
8、等待安装完成
9、不要勾选上面两个单选框,直接点击Finish按钮即可
10、进入SVN服务器安装路径下的bin目录,找到svnserver.exe应用程序
**此处SVN服务器安装完成
三、安装配置管理工具SVN客户端
1、双击桌面上的SVN客户端安装包
2、进入SVN客户端安装向导界面,点击下一步
3、点击下一步
4、可根据用户需求自定义安装路径,点击下一步
5、点击“Install”按钮,进行安装操作
6、等待安装完成
7、点击“Finish”按钮
**此处SVN客户端安装完成
四、在主机中添加文件上传至SVN服务器中,并在客户端中查看
1、SVN服务器和客户端搭建完成后,鼠标在桌面/文件夹下右击,出现如图所示的菜单,这表明SVN服务器和客户端都搭建完成
2、点击开始——所有程序——VisualSVN Server Manager,启动SVN服务器
3、进入SVN服务器界面
4、右击Users,点击“Create User...”,创建两个新用户即可
5、右击Groups,点击“Create Group...”,同样创建两个新组即可
6、右击Repositorys,点击“Create New Repository...”
7、进入下面添加版本库向导,选择第一个,点击下一步即可
8、输入版本库名称,点击下一步即可
9、默认选择第一个,点击下一步
10、选择第三个自定义权限,点击“Custom...”按钮
11、点击Add按钮,选择需要添加权限的的用户和组,点击“ok”按钮
12、对所添加的用户和组赋予相应的权限,点击确认键即可
13、设置好后,点击create按钮
14、进入下图后,可以看到自定义赋予的权限,确保无误后点击“Finish”键,完成创建
**此处SVN服务器创建版本库、用户和组完成
15、此处可以看到之前所创建的版本库test1访问地址
16、鼠标右击桌面/文件夹,选择“TortoiseSVN”下的“Repo-browser”
17、输入上面版本库test1的访问地址,点击ok键
18、输入之前所创建的用户名和密码,点击ok键
19、进入SVN客户端,可在客户端中进行操作了
注:我们需要将登录版本库test1的默认用户帐号清除,避免下次直接登录
(1)点击“TortoiseSVN”下的“Setings”按钮
(2)进入设置界面,点击“Saved Data”下的clean all按钮,点击确认键即可
(3)下次登录时不要勾选“保存身份验证”按钮,避免直接登录默认账户
20、接下来,我们在任意盘符位置出新建一个空文件夹zhangsan,如图所示
21、打开文件夹,鼠标右击选择“SVN Checkout...”按钮
22、进入下图界面,上面一个红框为test1版本库的URL地址,下面一个红框表示检出的路径,选择好后,点击ok键即可
23、输入相应的用户名和密码,点击ok键
24、弹出如图所示的状态提示信息,确认无误后点击ok键即可
25、此时会看到新建文件夹zhangsan图标处有一个绿色的勾,表明文件夹检出成功
26、打开该文件夹,新建一个.txt文件,如图所示,图标前面出现了一个问号,表明该文件无版本控制,需手动添加
27、右击该文件,点击“TortoiseSVN”下“Add”增加按钮
28、此时图标变成了一个“加号”,如图所示
29、双击打开,任意编辑一些内容,保存并关闭
30、右击文件,点击“SVNCommit...”按钮,上传该文件至服务器
31、如图所示,红框内可添加一些备注信息(可有可无),添加好后,点击ok键
32、出现状态提示信息,点击ok键
33、同样,出现此图标,表示修改的文件上传至SVN服务器成功
34、接下来,分别登录至客户端和服务器查看
**上传文件至SVN服务器成功
五、模拟客户端之间的资料共享
接下来,模拟两个用户同时登录到test1版本库服务器,同时对一个文件进行操作
1、在刚才创建zhangsan文件目录中再次创建另一个文件夹wangwu,(用上述检出zhangsan文件夹的方式对文件夹wangwu进行检出操作),并且用另一个帐号登录
2、如图所示,两个程序员zhangsan和wangwu同时使用服务器下的文件进行操作
3、wangwu工作效率高,提前做完工作保存后,提交至服务器
4、zhangsan工作完,保存后提交至服务器
5、发现提交失败,报错,表明需要提前更新文件方能进行操作
6、接下来,zhangsan需要进行处理,解决冲突。右击文件选择“TortoiseSVN”下的“Edit conflicts”按钮
7、进入下图界面,右键选中所有的红色字体,选择下图红框内的选项(将wangwu的操作放在zhangsan的前面)
8、操作完成后,点击界面中间的“√”,关闭页面即可
9、再次提交,成功提交
**此处两个重要的命令:“SVNUpdate”(更新)和“TortoiseSVN”下的“Edit conflicts”(解决冲突)
以后工作中要切记进行更新操作
1、zhangsan学聪明了,将文件夹锁定起来进行操作,此时文件上增加了一把锁的图标
2、wangwu工作完后发现提交不了,得知被其他人锁了,于是登录到客户端中查看锁文件的人为:zhangsan
3、wangwu找zhangsan,让其解锁,wangwu好提交工作。zhangsan进行解锁,右键文件夹选择“TortoiseSVN”下的Release lock...按钮,将文件解锁
**锁定文件夹命令:Get lock,解锁的命令:Release lock
解锁方式有两种:用户主动解锁/用户上传文件至服务器后可自动解锁
1、zhangsan用户需要更改文件名,右击文件
2、进入下图界面,更改文件名,文件名变成“+”号
3、右键文件夹空白处(不要点击文件名)选择“SVNCommit...”,成功改名
**重命名命令:Rename
1、zhangsan修改文件后,发现做错了,想回到之前的版本。对没有上传的文件进行操作,右击文件夹空白处(不要点击文件名)选择“TortoiseSVN”下的“Revert...”按钮
2、选择上一版本文件后,点击ok键。成功回到上版本
注:返回的只是当前客户端的旧版本,如果服务器与客户端不同步,也不会直接返回并与服务器同步。
**返回刚修改前的内容命令:revert
1、zhangsan想看当前文件修改的历史记录。右击文件夹空白处选择“TortoiseSVN”下的“Show log”
**查看当前文件修改的历史记录命令:Show log
1、zhangsan想删除文件。右击文件选择“TortoiseSVN”下的“Delete”按钮。删除完,右击文件夹空白处的“SVN Commit”,显示文件状态为deleted
**文件删除命令:Delete
1、zhangsan用户想导入文件至服务器。右键需要导入的文件所在文件夹下的空白处,选择“TortoiseSVN”下的Import...
2、选择目标版本库的URL地址,点击ok键
3、导入成功,点击ok键
注:如果文件夹下只有一个文件,那么只会上传单个文件,如果选中文件夹下有包含文件夹,会连文件夹一同上传。
**导入命令:Import
1、zhangsan用户想导出文件夹。右击zhangsan文件夹下的空白处,选择“TortoiseSVN”下的Export...
2、输入目标版本库的URL地址,点击ok键
3、导出成功
4、文件上面没有绿色小勾图标,表明该文件与服务器无关联
**导出命令:Export
1、zhangsan用户想更新版本。右击需要更新版本的文件,选择“TortoiseSVN”下的“Update to revision...”
2、点击“Show log”查看版本信息
3、选择需要返回的版本,点击ok键即可
4、显示更新版本成功
**更新版本命令:Update to revision
***
diff(比对)
选中文件右击,有三种模式
Previous version 与以前的版本进行比对
或者
选中两个文件右键diff,比对两个文件不同的地方
relocate(重新指向服务器的地址)
搬运服务器,ip变更后使用
tags(建立分支)/merge(合并分支)
多是开发使用
六、命令模式操作
1、创建版本库开始菜单—cmd进入dos窗口
如图所示,切换版本库路径E:\Reporsitories目录下,输入创建版本库test2的命令:svnadmin create test2
2、版本库创建完成之后,需要创建用户、组以及配置对应的权限了
linux系统中直接cd 到对应配置文件目录下,采用vi命令去编辑即可,此处还是以windows系统下进行操作讲解。
如本机已创建一个Test2的仓库:E:\Repositories\Test2,在conf文件夹下配置以下3个文件
1)svnserve.conf:SVN服务的配置文件,将以下配置取消注释:
anon-access = non
auth-access = write
password-db = passwd
authz-db = authz
2)authz:存放用户或组的权限(读、写),配置如下:
3)passwd: 存放用户和密码,如增加以下用户和密码
---以上3个文件的配置信息只针对通过svn://方式去访问时才有效,通过http://或file://方式访问时无效。
3、配置完成后,在cmd窗口启动svn服务
Svnserve -d -r E:\Repositories\test2
-d 指服务作为一个独立的端口监控进程
-r 即批定要暴露的仓库路径
如本机仓库路径为E:\Repositories\test2,那么客户端svn访问时只需采用如下地址即可访问:svn://ip/test2,E:\Repositories 就不需要展示出来。(注意,ip后面不要跟端号)
4、右击鼠标-》tortoise SVN ->Rebo - browse
在地址栏输入:svn://T420-PC/Test2/,输入authz文件中授权的用户名和密码登录。
(T420-PC 是服务器的计算机名,通常客户端访问时是替换成该机器IP)
如图所示,能成功登录客户端
注:在本地新建一个空文件夹,通过SVN客户端将上述仓库checkout到该文件夹中,能成功checkout代表配置无问题了。
介绍配置管理工具SVN的使用的更多相关文章
- [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)
[.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VS ...
- iOS核心笔记—源代码管理工具-SVN
源代码管理工具-SVN 一. 源代码管理工具概述 1. 源代码管理工具的作用? > 能追踪一个项目从诞生一直到定案的过程 > 记录一个项目的所有内容变化,无限制返回 > 查看特定版本 ...
- 版本控制工具svn的安装与简单使用
版本控制工具多用于多人协作开发项目中,这不同于个人开发项目,想把自己代码怎样放置都可以,而且删除了代码很难查找. 版本控制工具类似于个人处理钱的过程,放于自己口袋管理类似于个人开发情形,如果自己钱丢了 ...
- Ansible@一个高效的配置管理工具--Ansible configure management--翻译(一)
未经书面许可,请勿转载 --- Ansible is the simplest way to automate apps and IT infrastructure 这是Ansible官方站 ...
- 软件配置管理及SVN的使用
一.配置管理 1. 管理整个软件生命周期中的配置项 配置项:软件生命周期中产出的各种输出成果,如需求文档.设计文档.代码.测试相关文档 2.管理配置项的变化(核心) 3.使用配置管理 ...
- Ansible@一个高效的配置管理工具--Ansible configure management--翻译(三)
未经书面许可.请勿转载 一张图简单概括 Simple Playbooks Ansible is useful as a command-line tool for making small chang ...
- Sql server 2008 R2 配置管理工具服务显示远程过程调用失败:0x800706be
Sql server 2008 R2 配置管理工具服务显示远程过程调用失败:0x800706be 今天在其他电脑配置 SQl server 2008 R2,安装完成后,发现打开配置管理工具服务 : ...
- SQL 2008配置管理工具服务显示 远程过程调用失败0x800706be
摘自: http://www.cnblogs.com/cool-fire/archive/2012/09/15/2686131.html 基本上我的解决方案也是根据该文提示 操作的. 因为 我后来 装 ...
- SQO2008配置管理工具服务显示远程过程调用失败
前两天,装了VS2012后,打开SQL2008配置管理工具,发现SQL服务名称里什么也没有,只有一个提示:(如图) 卸载了一个叫"Microsoft SQL Server 2012Local ...
随机推荐
- MATLAB---dir函数
dir函数是最常用的转换路径的函数,可以获得指定文件夹下的所有子文件夹和文件,并存放在一个文件结构的数组中,这个数组各结构体内容如下: name -- 文件名 date -- 修改日期 b ...
- css3之 渐变
CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡. 以前,你必须使用图像来实现这些效果.但是,通过使用 CSS3 渐变(gradients),你可以减少下载的事件和 ...
- mybatis学习:mybatis的注解开发CRUD操作
Dao层: public interface IUserDao { /** * 查询所有结果 * @return */ @Select("select * from user") ...
- TZOJ 4651 zry和他的的灯泡们(lca)
描述 zry有一个收集灯泡的习惯,他把灯泡的阴极都共地,阳极连成一颗树,这样的话,他只要在任意一个灯泡的阳极加上合适的电压,所有灯泡都能亮起来.不幸的是,有一对灯泡之间的阳极连线断掉了,这样的话,这颗 ...
- [NOI OJ]6044:鸣人和佐助
6044:鸣人和佐助 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 佐助被大蛇丸诱骗走了,鸣人在多少时间内能追上他呢? 已知一张地图(以二维矩阵的形式表示) ...
- 阿里云应用高可用服务 AHAS 流控降级实现 SQL 自动防护功能
在影响系统稳定性的各种因素中,慢 SQL 是相对比较致命的,可能会导致 CPU.LOAD 异常.系统资源耗尽.线上生产环境出现慢 SQL 往往有很多原因: 硬件问题.如网络速度慢,内存不足,I/O 吞 ...
- TZ_13_Eureka的高可用
1.Eureka Server即服务的注册中心,在刚才上一篇中,我们只有一个EurekaServer,事实上EurekaServer也可以是一个集群,形成高可用的Eureka中心. 目的:多个Eure ...
- 【linux配置】Redhat6.5基础配置指南
Redhat6.5基础配置指南 本文针对鄙人在工作中常用系统配置加以说明,通常公司用于生产和测试的服务器基本上都不能连接外网,需要针对刚刚安装好的系统做一系列的常用配置. 一.常用基础系统配置 1.关 ...
- Javascript模块化编程(一)模块的写法最佳实践
Javascript模块化编程,已经成为一个迫切的需求.理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块但是,Javascript不是一种模块化编程语言,它不支持类clas ...
- Apache-Shiro分布式环境配置(与redis集成)(转)
原文戳我 前段时间项目要用到权限控制的相关模块,经过讨论决定采用Apache下面的Shiro开源框架进行身份校验与权限控制,因项目需部署在集群环境下,所以需要分布式的支持,故配置了Redis作为权限数 ...