您的位置:首页 > 其它

svn版本管理软件——初始化配置

2017-09-01 16:13 621 查看

文件版本说明

版本颁布日期修订章节作者
0.1.12016.12.18添加svn版本库的创建钟鑫
0.1.22016.12.15svn服务器搭建钟鑫
0.2.12016.12.31svn windows端添加日常管理代码钟鑫
0.3.02017.01.02添加svn windows端打补丁钟鑫
0.3.12017.01.08补充svn windows端日常管理代码内容钟鑫
0.4.02017.01.15添加svn windows端分支管理钟鑫
0.4.12017.01.16补充svn windows端初始化配置钟鑫
0.4.22017.01.21补充完成svn windows端内容钟鑫
0.5.02017.01.21svn搭建Linux端服务器钟鑫
0.5.12017.01.25补充搭建Linux的svn服务器钟鑫
0.6.02017.08.22补充svn版本库迁移钟鑫

版本管理系统

版本管理系统是代码开发的必要工具,是管理整个代码工程的一个很好的辅助,有了版本管理系统,开发线路就会轻松很多,特别是代码多了以后,几十万的代码量可以通过版本管理轻松修改差异。


集中式版本控制系统 代表:svn

集中式版本管理系统是将代码统一管理到一个服务器上,用户需要远程登录这台服务器去修改代码。集中式管理的好处是方便、统一的管理代码的开发进度,但缺点是要依赖互联网或局域网,如果成员中有一个登录不上,那么该成员就无法登录到服务器上去修改代码,或者中央的代码管理服务器出了问题,则整个项目的成员就无法修改代码。集中式的查看修改,创建分支,提交修改等操作都要处处链接服务器。


SVN版本管理简介

此次使用svn工具在Windows的环境下有很好的支持,安装软件有中文包。同时svn也有在Linux下的命令行版本,此次介绍的svn分为Windows下的鼠标操作模式和Linux下的命令行模式,svn的另外优势就是可以对用户进行授权控制,哪些代码可以下载修改上传,哪些代码只可以读取,哪些代码不能读也不能下载,同样git也可以做到,但git为分布式管理版本系统,并且本身就提倡开源共享,限制用户不是主流,相反每个人都是代码的master。
Windows安装同样到官网下载,官网有中文补丁,甚至还有中文版的基本使用指南《TortoiseSVN-1.9.4-zh_CN.pdf》


svn有两个版本

Subversion:服务器端软件,不是必要的软件,个人开发可以完全不用下载。
TortoiseSVN:客户端软件,本次个人版本库搭建介绍以这个版本为准。


Ubuntu安装svn工具输入以下命令即可

命令:sudo apt install subversion


Windows下安装完svn之后会将svn的命令添加到鼠标右键菜单中,如下图所示



该菜单在有svn管理的版本库与未加入svn的版本库(其他地方右键菜单)有所不同。

本次介绍以个人构建svn版本为主,不涉及多用户管理。


svn工作概念

svn是集中式版本管理与git不同,svn所涉及的每一步操作都需要与服务器关联,不能像git那样做到完全离线管理,并且svn没有暂存区的概念,修改完代码之后提交就直接提交到远程版本库上,没有本地仓库。如果电脑未联网,未连接到版本库服务器上,svn代码的日常管理就无法正常展开,包括对比差异,提交代码,切换分支,这是集中式版本管理的特点,代码管理统一由服务器管理。


工作区

即日常修改代码的地方,工作区中可以修改代码,提交代码和还原代码。这些操作都要连接版本库。在工作区,Windows下的svn重新定义了文件图标,方便直观地看到代码修改的变化。


在Windows下的svn工具可以看到该变化,如下图所示



版本库

svn集中式版本管理的核心就是版本库,用户单独使用的话可以只安装svn的客户端版本TortoiseSVN也可以创建版本库以及管理个人代码,版本库的右键菜单与工作区的代码也有所不同。代码围绕着版本库而建立,一旦版本库受影响(损坏,网络故障等)整个代码开发过程都会受到影响。
git的使用可以不依赖版本库,但svn建立项目一定要有版本库。

版本库的检出与导出不同,检出的代码受svn版本管理,可以看到历史修改记录,还可以提交代码,但导出仅仅是将版本库里面的文件导出来而已。


svn初始化配置

在检出了svn代码库后,需要对svn进行一些简单的配置。

过滤掉一些不必要的文件

svn在默认的全局设置中有过滤掉的文件后缀名如下图所示。





svn默认忽略的文件为:

*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store [Tt]humbs.db


如果要过滤的文件或文件夹没有包含在内,可以手动添加,格式和git一样,在svn功能菜单中选择属性,在属性选项框中选新建——其他。如下图所示。





也可以选择需要忽略的文件或文件夹,在svn功能菜单中选择添加到忽略列表,如下图所示,后面两个选项是添加到全局,第一个选项是仅仅忽略当前选中的文件。



配置好后提交svn的属性修改即可,如下图所示



日志提交模板

创建一个日志提交的模板,方便以后统一管理和追溯问题。
在svn功能菜单中选择属性,在属性选项框中选新建——其他。如下图所示。




在属性一栏中选择tsvn:logtemplate,在取值一栏中写入提交日志模板,选择递归应用该属性,单击确定。


选择好后将库的改变提交到库上,同时模板会起作用,如下图所示。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  svn 管理 软件