SVN基本介绍、工作原理、基本操作和其他说明

SVN基本介绍、工作原理、基本操作和其他说明

目录

SVN简介

SVN是什么

SVN客户端下载安装说明

关于汉化失败

关于Idea添加SVN报错

SVN工作原理

SVN提交流程图

SVN基本操作

SVN浏览

CheckOut(检出)

Update(更新)

Add(加入)

Commit(提交)

Revert(还原)

Add to ignore list(忽略文件)

Clean up(清理)

获取锁定与解除锁定

SVN其他说明

SVN的权限说明

SVN的提交控制

SVN的分支策略

SVN简介

SVN是什么

SVN的全称是Subversion,版本控制系统

是一个开放源代码的版本控制系统,通过采用分支管理系统的高校管理,简而言之就是用于多人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

SVN采用客户端/服务器体系,数据不丢失,历史可追溯

SVN是输入C/S服务类软件,有客户端和服务端,客户端用于操作,服务端用于数据保存,服务端会管理着随时间改变的所有数据,以提交版本记录每次操作内容。

SVN的客户端有基于WEB的webSVN和Tortoise SVN为代表的客户端软件

SVN客户端下载安装说明

下载地址:https://tortoisesvn.net/downloads.html

1.首先运行TortoiseSVN-*安装客户端

2.然后运行LanguagePack_*安装汉化包(注意版本要与客户端一致)

3.汉化包安装完成后可以直接在安装向导中选择Configure TortoiseSVN to use this language,使汉化生效,也可以通过鼠标右键TortoiseSVN->Settings->General->Language中选择中文简体

关于汉化失败

汉化包和客户端版本不一致,通过鼠标右键TortoiseSVN->About查看客户端版本,我的是1.10.5,64 bit,到官网上找到对应的语言包版本下载下来,将TortoiseSVN根目录下的Language文件夹删除,重新运行汉化包即可(本人亲测不需要见汉化包放到TortoiseSVN根目录下执行)。

(https://osdn.net/projects/tortoisesvn/storage/1.10.5/Language%20Packs/LanguagePack_1.10.5.28651-x64-zh_CN.msi/)

关于Idea添加SVN报错

使用idea作为IDE开发工具的话,command line client在安装时是必须勾选的,没有勾选的话在使用idea添加SVN库的时候会报:Can't use Subversion command line client:svn 的错误

如果之前安装客户端的时候没有选择command line client tools,那么找到安装包TortoiseSVN-*重新运行,选择Modify之后会弹出上一幅图中的页面,再次选择command line client即可

SVN工作原理

SVN提交流程图

SVN基本操作

SVN浏览

已安装客户端,鼠标右键,选择TortoiseSVN->版本库浏览器(Repo-browser)

在弹出的框中输入SVN地址,点击OK

未安装客户端可以直接在网页中输入SVN地址打开

CheckOut(检出)

用于检出仓库中的文件到本地,生成工作副本(文件夹下有个隐藏的.svn文件夹,不要删除或者不明白的操作,会破坏副本)。

输入仓库地址(URL of repository) 配置检出的本地目录(Checkout directory), 检出深度(Checkout Depth):默认全递归(Fully recursive),检出全部文件夹、子文件夹及文件夹下的文件,也可根据需要选择。省略外部(Omit externals):一般不勾选选择项(Choose items):可以选择要检出的该仓库地下的文件夹版本(Revision):一般选择最新版本(HEAD revision),也可以根据需要勾选版本(Revision)并输入要检出的版本号,版本号可以在显示日志(Show log)中查看历史的版本记录

与Export(导出)区别

Export(导出)操作参考Checkout(检出)

CheckOut(检出)会生成工作副本,副本会与SVN仓库关联,实现版本控制、提交、更新等等

Export(导出)不会生成工作副本(无.svn隐藏文件夹),会把仓库的资源复制到本地,不可以实现版本控制、提交、更新等等操作。

Update(更新)

用于更新工作副本到对应版本

方法:选择文件或目录鼠标右键

SVN更新(SVN Update):

更新到最新

更新至版本(Update to revision):

最新版本(HEAD revision),也可以根据需要勾选版本(Revision)并输入要检出的版本号,版本号可以在显示日志(Show log)中查看历史的版本记录

Add(加入)

用于将文件或者目录加入到svn版本控制中

方法:选择文件或目录右键

注意:加入(Add)只是将文件加入到本地工作副本的版本控制中,并没有提交到SVN仓库

Commit(提交)

用于提交本地副本的文件到svn服务器

方法:选择工作副本右键SVN 提交(SVN Commit),然后选择要提交的文件、输入提交内容信息(Message),点击确定(OK)

注意:如果只读权限是不能提交的;本地不是最新的可能会出现冲突。

Revert(还原)

用于撤销本地未提交的修改

方法:选择工作副本右键TortoiseSVN->还原(Revert)->选择需要还原的文件或目录->确定(OK)

Show log(显示日志)

用于显示历史操作记录

方:1:选择工作副本文件或目录右键TortoiseSVN->显示日志(Show log)

方法2:选择SVN版本库浏览器(Repo-browser)路径中右键,显示日志(Show log)

Add to ignore list(忽略文件)

用于添加文件或目录不被svn版本控制

方法1(较旧的版本):选择文件或目录右键TortoiseSVN->增加到忽略列表(Add to ignore list),可以选择只讲该文件添加到忽略列表,也可以选择将以txt为后缀(*.txt)的文件全部忽略。

方法2(较新的版本):在某个目录下右键TortoiseSVN->属性(Properties)

新建(New)->其他(Other)

属性(Property name)选择:svn:ignore或者svn:global-ignores取值(Property value)可以填写参考:

target

.idea

.settings

.project

*.iml

*.log

.logs

.classpath

log

logs

递归应用属性(Apply property recursively):不勾选,只作用于当前目录,不对子目录中的文件生效;勾选可对子目录中的文件生效。

注意:在工作副本的目录中右键TortoiseSVN->属性(Properties),是可以看到当前目录生效的SVN忽略项(黑色),以及父级目录的SVN忽略项(灰色)。

方法3:在工作副本的目录中右键TortoiseSVN->设置(Settings)->常规设置(General)中Subversion的全局忽略样式(Global ignore pattern)里添加要忽略的文件后缀

这种方式没事试过,不清楚生效规则。

Clean up(清理)

用于清除锁定状态,也可以清理不受SVN版本控制的文件

(会将.svn清理一下)

方法:选择需要清理的目录右键TortoiseSVN->清理(Clean up)

什么时候需要用清理(Clean up)

当我们需要提交修改时,会向.svn中写入一些信息,然后向SVN服务器发送信息,如果该信息没有正确的发送到SVN服务器(提交(SVN Commit)会同时失败),SVN服务器中的版本信息跟本地工作副本的版本信息不一致,再次提交会提示目录被锁定,这时需要清理(Clean up),如果清理之后还是不能提交,关机重启一下试试(T^T)

获取锁定与解除锁定

加锁用于防止文件被他人修改

获取锁定方法:选择需要加锁的文件或目录右键TortoiseSVN->获取锁定(Get lock)-输入锁定的原因(可选)->确定(ok)

注意:如果其他人已经加锁,此时获取锁定(Get lock)是不成功的。

解除锁定方法:选择需要加锁的文件或目录右键TortoiseSVN->解除锁定(Release lock)

SVN其他说明

SVN的权限说明

SVN可以按照文件和目录来配置权限

SVN有一套完整的权限管理体系,可以给个人或者组分配权限,并且权限可以分配到文件级别,权限分“读”(只能查看)与“写”(可以修改)两种情况

实际的项目中SVN权限要按需申请并以最小化原则开通

需根据工作需要开通,对项目人员的不同角色开通不同的权限或者权限组,以最小化原则。

SVN的提交控制

SVN钩子脚本控制

SVN有一套提交控制脚本,称为钩子脚本,通过钩子脚本可以对提交的文件类型,提交日志填写要求做控制,还可以通过脚本触发一些工具的执行。

SVN日志模板设置

设置SVN提交时要填写的模板,并且提交时检查是否按照模板填写,未符合要求的会被禁止提交

SVN锁定提交

对一些重要文档,为防止多人提交出现覆盖的情况,可以设置成需要锁定文件后才能提交

SVN的分支策略

SVN采用分支管理系统

分为trunk-主干、branches-分支和tags-标签

分支上所做的提交都只存于分支上,主线上的Update是看不到分支的修改的

后续有时间补充:Linux构建SVN服务器,权限配置,SVN 管理界面等

相关推荐

MecSoft Corporation
365bet官网娱乐

MecSoft Corporation

⌛ 06-27 👁️ 6452
DOC (WORD)到JPEG转换器
BT365软件提现不了

DOC (WORD)到JPEG转换器

⌛ 06-28 👁️ 6952