svn版本管理软件——初始化配置
2017-09-01 16:13
621 查看
文件版本说明
版本 | 颁布日期 | 修订章节 | 作者 |
---|---|---|---|
0.1.1 | 2016.12.18 | 添加svn版本库的创建 | 钟鑫 |
0.1.2 | 2016.12.15 | svn服务器搭建 | 钟鑫 |
0.2.1 | 2016.12.31 | svn windows端添加日常管理代码 | 钟鑫 |
0.3.0 | 2017.01.02 | 添加svn windows端打补丁 | 钟鑫 |
0.3.1 | 2017.01.08 | 补充svn windows端日常管理代码内容 | 钟鑫 |
0.4.0 | 2017.01.15 | 添加svn windows端分支管理 | 钟鑫 |
0.4.1 | 2017.01.16 | 补充svn windows端初始化配置 | 钟鑫 |
0.4.2 | 2017.01.21 | 补充完成svn windows端内容 | 钟鑫 |
0.5.0 | 2017.01.21 | svn搭建Linux端服务器 | 钟鑫 |
0.5.1 | 2017.01.25 | 补充搭建Linux的svn服务器 | 钟鑫 |
0.6.0 | 2017.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,在取值一栏中写入提交日志模板,选择递归应用该属性,单击确定。
选择好后将库的改变提交到库上,同时模板会起作用,如下图所示。
相关文章推荐
- git版本管理软件——git初始化配置
- SVN版本管理软件的配置与安装
- 软件的版本管理 VisualSVN Server的配置和使用方法 图文
- hudson+svn对jobs配置文件的版本管理
- SVN软件开发版本管理
- 项目管理软件Redmine安装及SVN配置
- Android Studio AS 中配置强大的版本管理系统(Git、SVN、等)
- 软件配置管理中的SVN
- SVN版本管理配置
- 使用SVN管理软件版本,解决协作问题
- Android Studio 做 svn 的版本配置管理
- 配置VSS版本管理软件
- AS 中配置强大的版本管理系统(Git、SVN、等)
- 配置VSS版本管理软件
- 用svn管理软件版本信息
- 安装版本管理软件-SVN
- svn软件版本管理
- SVN版本管理平台(Subversion+Apache+Jsvnadmin)安装配置和使用
- 对CVS,SVN等软件版本管理中Tag,branch,merge的一点理解
- 工具:SVN 管理软件版本的一些心得