软件开发的过程是个复杂、耗时、耗力的过程。通常要有很多开发人员参与编写代码。

这样就会出现种种代码管理混乱的问题,这些问题容易引发BUG,增加开发人员的工作量,增加软件开发与维护的成本。因此项目中会使用配置工具管理这些代码,解决上诉问题。

市面上常用的两种配置管理工具:SVN,GIT

这边文章要和大家介绍的就是SVN

什么是SVN呢,下图给出了SVN与开发们之间的关系

SVN的作用:

解决代码管理混乱问题
不用备份多个版本,占用磁盘空间大
解决代码冲突
不易引发bug
可以追溯问题代码的修改人和修改时间
容易恢复至以前正确版本
可以进行权限控制
降低项目版本发布难度

如何使用SVN呢?

一、环境配置

1. 安装SVN服务器

双击打开SVN服务器安装程序

点击“Next”按钮

勾选“I accept the terms in the License Agreement”复选框,点击“Next”按钮

勾选“VisualSVN Server and Administration Tools”单选框并勾选“Add Subversion command-line tools…”复选框,并点击“Next”按钮

点击“Standard Edition”按钮,选择安装类型

选择好程序安装路径和后续项目的文档存放文件的位置和端口号后点击“Next”按钮

如下图显示443端口被占用,点击“OK”按钮

修改端口为8443,点击“Next”按钮

点击“Install”按钮

等待安装

安装完成,不选中复选框,点击“Finish”按钮

我们进入之前选择的程序安装路径下的bin目录看是否有svnadmin.exe和svnserve.exe两个文件

设置环境变量的目的就是使得程序安装路径 D:\Program Files\VisualSVN Server\bin 下的svnadmin.exe和svnserve.exe两个程序可以直接使用

2、安装SVN客户端

双击“TortoiseSVN”客户端安装程序

等待安装

点击“Next”按钮

点击“Next”按钮

选择客户端程序的安装路径(可以根据个人喜好选择,小编选择了D:\Program Files\TortoiseSVN),再点击“OK”按钮

跳转到了之前的界面,可以看到路径已经更改成功了,点击“Next”按钮

点击“Install”按钮

等待安装

安装完成,点击“Finish”按钮

桌面右击,菜单栏里显示有“TortoiseSVN”,表示SVN客户端安装成功

二、SVN Manager工具在SVN服务器上创建用户、组、版本库并设置版本库的访问权限

服务器安装完成后,我们在服务器上创建用户、组、版本库并设置版本库的访问权限

1、打开SVN服务器管理程序

点击开始菜单---点击“所有程序”---点击“VisualSVN”---点击“VisualSVN Server Manager”启动SVN服务器管理程序

跳出SVN服务器管理界面

2、服务器中创建用户

右击左侧导航栏中的“Users”,点击"Create User…"创建新用户

跳出创建新用户窗口,输入即将创建的用户名,用户密码,并确认密码(通常用户名和密码都是参与项目的,并使用SVN这个工具的人员进行设置的)

小编随手创建的几个用户

创建好了之后就可以在SVN服务器管理界面的右侧内容窗口中看到设置好的用户,下面是小编创建的几个用户

3、服务器中创建项目组

用户创建好了之后就可以创建项目组了,右击导航栏中的“Groups”--点击“Creat Group”

输入组名,点击“Add”按钮选择需要添加到组里的用户,再点击“ok”按钮

4、创建版本库并设置版本库的访问权限

右击左侧导航栏中的“Repositories”,点击“Creat New Repository”创建版本库(方便用户登录SVN配置管理器在创建的版本库中存取数据)

跳出创建新仓库的界面,选择“Regular FSFS repository”(常规FSFS仓库),再点击“下一步”按钮

输出即将创建的仓库名称(写当前的项目名称,便于使用和管理),再点击“下一步”按钮

选择“Empty repository”(空仓库),再点击“下一步”按钮(实际公司项目选择下面一种带有目录的仓库比较多)

勾选“Customize permission”(自定义权限/允许),点击“Custom…”

设置权限的类型(1、没有使用权 2、只读 3、读写),点击“确定”按钮

点击“Add…”按钮,选择可以拥有权限的人(可以选择整个组,也可以选择特定的用户)

跳转界面,显示仓库中的组已经创建成功(可以看到仓库的类型:FSFS,)

浏览SVN服务器上的版本库的方式(两种)

方法一、SVN Manager工具中,选择库后点击browse(浏览)

在SVN Manager窗口左侧导航栏中找到想要浏览的库,右击--点击browse浏览

输入用户名,密码,点击“登录”按钮

成功访问

方法二、用SVN客户端登录浏览

右击桌面---点击“TortoiseSVN”----点击“Repo-browser”

输入要访问的版本库的URL地址,格式如下

https://IP:端口/svn/版本库名

http://主机名:端口/svn/版本库名

输入用户、密码,点击“OK”按钮

成功登录(这边小编的版本库还是空的!)

注意

我们使用SVN客户端访问服务器上的版本库时,必须保证服务器上的VisualSVN Server服务是开启的

我们可以打开服务窗口查看该服务是否开启,具体操作如下

版本库目录下的文件的作用

conf文件夹---配置文件(权限)

authz=authorization  存放用户或组的权限(读、写)

passwd=authorization 存放用户和密码

svnserve.conf 存放SVN服务器的配置文件

db----存放数据

hooks---钩子脚本:自动触发部署

locks---上锁

TortoiseSVN图标集

文件夹常规:表示本地文件夹与服务器上的文件相匹配

文件夹冲突:commit本地文件夹时显示与服务器上的文件冲突(通查出现在多人同时编写同一个文本的情况下)

文件夹已删除:服务器上已经没有这个文件夹了

文件夹无版本控制:新建文件夹还未添加到服务器上

添加文件夹:在本地新建文件夹虽然add,但还未commit到服务器上

文件夹被修改:文件夹被修改,还未commit到服务器上

文件夹只读:文件夹只允许用户阅读

锁定:文件夹被锁定,除了施加锁定的那个用户其他用户均无法修改服务器上的这个文件夹

文件被修改:文件修改过后,还未commit到服务器上

文件常规:文件夹与服务器上的文件一致

文件冲突:文件与服务器上的文件冲突

SVN客户端基本图形化操作

Check out (将服务器上的版本内容迁出到本地里)

图形界面创建的版本库的签出

方法一

在本地创建一个空的文件夹,进入文件夹后,右击空白处--点击“SVN Checkout”

输入需要签出版本库的URL地址(格式:https://IP:port/svn/版本库名称),点击“OK”按钮

输入有访问该版本库权限的用户即密码,点击“OK”按钮

点击“OK”按钮

方法二、使用客户端浏览服务器上的项目文件

桌面右击---点击“TortoiseSVN”--“Repo-browser”

输入要访问版本库的URL地址

将SVN服务器上的版本库签到本地的条件及成功状态:

  1. 服务器上的VisualSVN Server是开启的
  2. 本地地址的文件夹是空文件夹
  3. 签出成后该文件夹会显示打勾的状态

Add 添加文件

在签出的文件夹里新建文件test1.txt

内容如下

右击需要添加到SVN服务器上的文件---点击“TortoiseSVN”---点击“Add”

点击“OK”按钮

点击“OK”按钮

添加完后的文件图标会从问号变为加号

Commit   提交(add、修改)

一种情况:add后commit

在我们的Checkout到本地的文件夹中新建一个test2.txt文件

右击test2.txt--add

文本图标就会显示+号

右击test2.txt---SVN Commit,提交到服务器上

第二种情况:我们修改完文件,要commit到服务器上

右击要提交的文件---点击“SVN Commit”

Update  更新

右击要更新的文件或文件夹---“SVN Update”

Delete  删除(删除之后要commit,才会生效)

右击要删除的文件或文件夹---“TortoiseSVN”---“Delete”

Rename  重命名(从命名后空白处右击commit)

改名后需要在空白处右击--点击“SVN Commit”或者进入上一层目录右击---点击“SVN Commit”

将文件名由“test2.txt”改为“test.txt”

空白处右击---点击“SVN Commit”或者进入上一层目录右击---点击“SVN Commit”

Revert  还原(恢复到文件修改之前的版本)

修改文件内容后,在未commit之前,我们可以右击文件---“TortoiseSVN”---“Revert”将文件还原到修改内容之前的文件版本

Show log  显示日志

export(导出,但不在版本库内,修改不影响版本库)

方法一、登录SVN客户端,右击要导出的文件所属的文件夹---点击“Export”---选择存放的本地路径

方法二、右击Checkout到本地的文件夹---点击“TortoiseSVN”---点击“Export”---选择存放的路径

Import  导入

右击要导入的文件所在文件夹,点击“TortoiseSVN”---“Import”

Get lock  锁定(锁定后的文本其他人编译后无法commit)

右击要锁定的文本---点击“TortoiseSVN”---点击“Get lock”

Release lock  解锁(锁定的人主动解锁后,其他人可以编译并commit)

右击锁定的文本或文件---点击“TortoiseSVN”---点击“Release lock”

Diff  差异比较

右击要进行差异比较的文件---点击“TortoiseSVN”---选择一种差异比较方式

Edit Conflict  处理冲突

1、两个开发编写同一个代码文件

2、第一个开发编写好代码后commit  提交到服务器上

3、第二个开发未先Update,也直接修改了文件,然后commit,提交到了服务器上

4、提示需要先Update,但选择Update后提示无法更新,有Conflict

5、这是第二个开发需要解决冲突,本地文件中会出现以下的几个文件

6、右击需要解决冲突的文件(有冲突的文件上会有黄色感叹号的标志)---点击“Edit conflict”

7、根据冲突内容人工判断解决,最后commit

Update to revision(更新版本到哪个版本)

右击需要更新版本的文件---点击“TortoiseSVN”---点击“Update to revision”

可以通过show log 查看文件的日志信息,便于回到哪个版本的文件

relocate(服务器IP地址变了,可以用来更新地址)

工作当中要养成习惯,工作之前先Update,再锁定

增、删、改都要commit

用命令行创建版本库

1、建立版本库

打开dos命令窗口,输入svnadmin create e:\Repositories\版本库名称

(Repositories指的是服务器安装时指定的版本库目录,这里输入的路径要和安装服务器时指定的路径一样)

2、配置e:\Repositories\conf文件夹下的三个文件

Svnserve.conf:SVN服务器的配置文件,讲一下配置取消注释

passwd:存放用户和密码,如增加一下用户和密码

authz文件:存放用户或组的权限(读、写),配置如下

3、启动服务

输入svnserve -d -r e:\Repositories

-d指服务作为一个独立的端口监控进程,--r即批定要暴露的仓库路径,如本机仓库路径为E:\Repositories\项目,那么客户端svn访问时只需采用如下地址即可访问:svn://ip/项目,E:\Repositories 就不需要展示出来,客户端svn访问时只需采用如下地址即可访问:svn://ip。(注意,ip后面不要跟端口号)

如果输入svnserve -d -r e:\Repositories\版本库名称

Subversion的标准目录结构

Trunk-----主开发目录

Branches-----分支开发目录

Tags----tag存档目录,不允许修改

转载于:https://www.cnblogs.com/Ceslie-zhang/p/8544379.html

配置管理工具---SVN相关推荐

  1. JAVA前端修改密码,Java Web版SVN 配置管理工具 2.0 (远道建立仓库,修改密码,设置权限,支持apache等)...

    Java Web版SVN 配置管理工具 2.0 (远程建立仓库,修改密码,设置权限,支持apache等) 3.0开始,已经迁移到google code,这里停止下载.http://code.googl ...

  2. 常用的软件配置管理工具

    常用的软件配置管理工具分为两大类:一类是付费商业软件,一类是开源软件 1.常用付费软件配置管理工具有: .Rational ClearCase .Perforce .CA CCC/Havest .Me ...

  3. 集中配置管理工具puppet安装使用

    Puppet是开源的基于Ruby的一种Linux.Unix平台的集中配置管理工具,puppet是一个C/S结构, 当然,这里的C可以有很多,因此,也可以说是一个星型结构. puppet使用自有的pup ...

  4. ClearCase是全球领先的软件配置管理工具

    ClearCase是全球领先的软件配置管理工具,而Visual Studio 2005是微软推出的强大的.Net开发工具.微软的VSIP计划为Visual Studio提供了界面的可扩展性,通过VSI ...

  5. 你知道配置管理工具是什么吗_什么是配置管理工具?

    你知道配置管理工具是什么吗 对于大多数人而言,计算机并不会保持不变. 添加,删除和更新软件. 配置已更改. 考虑一下自第一次启动计算机以来对计算机所做的更改. 现在想象一下对10台,100台或1000 ...

  6. 快速接入阿里云应用配置管理工具 轻松开启企业效率新时代

    2019独角兽企业重金招聘Python工程师标准>>> 日前,阿里云正式推出了应用配置管理(Application Configuration Manangement,简称 ACM) ...

  7. 开源自动化配置管理工具Puppet入门教程

    Puppet是开源的基于Ruby的系统配置管理工具,依赖于C/S的部署架构.Puppet这样的自动化配置管理工具可以帮助系统管理员更加方便的完成升级软件包.管理配置文件.系统服务.cron任务.添加新 ...

  8. gohost -- go 开发的命令行hosts配置管理工具

    前几天在微博上看到有人推荐了lazygit这个工具,让人眼前一亮,什么时候命令行也可以这么抢到了,?,调研了下,发现它使用了gocui,使用它可以做出来很多很炫的命令行工具. 现有的hosts工具里面 ...

  9. 项目管理实践之版本控制工具SVN在Windows平台下的平台搭建

    通过<项目管理实践之版本控制工具SVN>我们知道,在windows平台下,如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为 ...

  10. 1.11学习配置管理工具 Ansible 的基本用法,包括主机管理、Playbook 编写教程

    目录 简介 主机管理 手动管理 利用 Ansible 管理主机 Playbook 编写 基本结构 常用模块 变量管理 简介 Ansible 是一种基于 Python 编写的配置管理工具,它能够让运维人 ...

最新文章

  1. python函数(三)
  2. 微信背单词类小程序,小鸡单词源码下载,打卡微信小程序
  3. 论文阅读——《Exposure Control using Bayesian Optimization based on Entropy Weighted Image Gradient》
  4. R变量索引 - 什么时候使用 @或$
  5. 打造×××互连无极限,多WAN口×××防火墙
  6. XAF-UI元素概述
  7. python入门经典代码-Python入门36道经典练习题
  8. Ubuntu16.04安装Hadoop2.7.3教程
  9. PES,TS,PS,RTP等流的打包格式解析之PES流
  10. php判断号码归属,PHP验证手机号码和查询归属地查询的代码
  11. 计算机教育应用研究,技术教育在计算机科学与技术师范专业中的应用研究
  12. GHOST重装系统详解
  13. Matlab/Simulink 自动代码生成 基于模型设计学习教程(2)---- 闪烁灯实验
  14. gsea结果分析图怎么看_GSEA富集分析图讲解
  15. hive的一些常用命令
  16. 北航2022软件工程第二次作业——产品评测、分析与规划
  17. SLAM学习笔记——BOW
  18. mac 苹果电脑的睡眠与休眠,决待机耗电的问题,AddressBookSourceSync
  19. 数字化技术加速人才转型 附下载
  20. wsimport 无法读取wsdl文档,unknown extensibility element or attribute “EndpointReference“

热门文章

  1. Redies安装,修配置,设置密码,
  2. Java 实现--时间片轮转 RR 进程调度算法
  3. 磁盘阵列 RAID 技术原理详解
  4. 安装quickLook插件以及解决如何不能读取offic问题
  5. 洛谷2501 BZOJ1801中国象棋题解
  6. 【sping揭秘】18、使用spring访问数据
  7. java-DBUtils的练习题
  8. unigui web app之title buttons
  9. angularjs 循环完之后执行的事件
  10. Vue.js 2.0 和 React、Augular等其他框架的全方位对比